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;

これは挿入ステートメントではありませんが、アイデアを得る必要があります。

4

1 に答える 1

11

まず、一重引用符を使用する必要がありました。エスケープ シーケンスは以前のバージョン (4.0 より前だと思います) では機能していましたが、現在はデフォルトでオフになっています。データベース構成パラメーターを微調整したくない場合は、2 つのオプションがあります。

E' 構文を使用します。

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

または、エスケープする必要がある引用符を二重にします。

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