【问题标题】:Embedding a newline in a string literal in HSQLDB在 HSQLDB 中的字符串文字中嵌入换行符
【发布时间】:2016-01-07 22:29:15
【问题描述】:

我几乎不敢相信我需要问这个问题,但 HSQLDB 文档中似乎没有任何关于它的文档。

将换行符放入 HSQLDB 的字符串文字的方法是什么(它是我正在使用的测试数据集的一部分)。我有这样的声明:

INSERT INTO "RANDOM_TABLE" ("TEXT_VALUE") 
VALUES ('BRAF >> V600E (73%)\nPIK3CA >> E545G (31%)');

我真的很喜欢 \n 或等效的换行符。当然,\n 只是按原样通过。

【问题讨论】:

    标签: sql hsqldb


    【解决方案1】:

    我承认这对谷歌来说非常困难,但这对我有用:

    CREATE TABLE baz (
     col VARCHAR(255)
    );
    INSERT INTO baz
    VALUES (U&'foo\000Abar');
    

    当然,根据您的平台,您可能希望使用 \000A、\000D 或 \000D\000A(分别为:LF、CR 或 LF 后跟 CR)。

    顺便说一句,感谢这篇文章:Hsqldb single quote character

    【讨论】:

    • 太棒了。非常感谢。有趣的是,它是如此可怕。
    【解决方案2】:

    SQL Server 有一个CHAR 函数,可让您通过ASCII 字符号插入一个字符。

    字符 13换行10回车。有时你需要一个,有时你需要两个。

    INSERT INTO "RANDOM_TABLE" ("TEXT_VALUE") 
    VALUES ('BRAF >> V600E (73%)' + CHAR(13) + CHAR(10) + 'PIK3CA >> E545G (31%)');
    

    【讨论】:

    • 我实际上想接受这两个答案,因为它们都会解决问题,但我正在寻找一个逃避的解决方案。无论如何都要投票。
    • 这个对我有用,接受的答案没有。
    猜你喜欢
    • 2021-06-11
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2011-05-04
    • 2021-05-03
    • 2010-11-11
    相关资源
    最近更新 更多