4

所以我需要将一些值插入到 vertica 数据库中(通过 vsql),其中可能包含引号和各种特殊字符。但是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;

这不是插入语句,但您应该明白。

4

1 回答 1

11

好吧,首先我应该使用单引号。转义序列曾经在早期版本中工作(我相信在 4.0 之前),但现在默认情况下它们是关闭的。如果您不想调整数据库配置参数,您有两个选择。

使用 E' 语法:

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

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

select 'somethin'' here' from v_catalog.dual_p;
于 2011-02-24T21:37:03.480 回答