如何在Vertica(vsql)中转义字符串中的引号?

4

我需要通过vsql将一些值插入到Vertica数据库中,这些值可能包含引号和各种特殊字符。但是Vertica似乎不理解字符转义。例如:

rpt=> select "asdasda\"asdasdad" from some_table limit 1;
rpt"> ";
ERROR:  syntax error at or near "" from some_table limit 1;
"" at character 26
LINE 1: select "asdasda\"asdasdad" from some_table limit 1;

这不是插入语句,但你应该能理解这个概念。
1个回答

11

首先,我应该使用单引号。转义序列在早期的版本中(我相信是4.0之前)可以使用,但现在默认情况下已禁用。如果您不想调整数据库配置参数,则有两个选项。

使用E'语法:

select E'somethin\' here' from v_catalog.dual_p;

或者将需要转义的引号加倍:

select 'somethin'' here' from v_catalog.dual_p;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接