所以我需要在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;
这不是插入语句,但你应该明白这一点。
答案 0 :(得分:10)
好吧,首先我应该使用单引号。转义序列曾用于早期版本(我相信4.0之前),但现在它们默认是关闭的。如果您不想调整数据库配置参数,您有两个选择。
使用E'语法:
select E'somethin\' here' from v_catalog.dual_p;
或者需要转义的引号加倍:
select 'somethin'' here' from v_catalog.dual_p;