Как избежать кавычек в строках в Vertica (Vsql)? - PullRequest
3 голосов
/ 24 февраля 2011

Поэтому мне нужно вставить некоторые значения в базу данных 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;

Это не оператор вставки, но вы должны понять.

1 Ответ

10 голосов
/ 25 февраля 2011

Ну, во-первых, я должен был использовать одинарные кавычки. Последовательности Escape раньше работали в более ранних версиях (я полагаю, до 4.0), но теперь они по умолчанию отключены Если вы не хотите настраивать параметры конфигурации базы данных, у вас есть две опции.

Использовать синтаксис E ':

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

Или удвоить кавычки, которые нужно экранировать:

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