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

Iva*_*n P 4 database vertica vsql

所以我需要在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;
Run Code Online (Sandbox Code Playgroud)

这不是insert语句,但你应该明白这一点.

Iva*_*n P 11

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

使用E'语法:

select E'somethin\' here' from v_catalog.dual_p;
Run Code Online (Sandbox Code Playgroud)

或者加倍需要转义的报价:

select 'somethin'' here' from v_catalog.dual_p;
Run Code Online (Sandbox Code Playgroud)