Hsqldbテーブルに一重引用符を挿入するにはどうすればよいですか?エスケープ文字は問題に対して機能しません。
2 に答える
2つの方法があります。
2つの一重引用符を使用します。例えば
INSERT INTO T VALUES 'escap''d'
Unicode文字列を使用します。Unicode文字列にはUnicodeエスケープを含めることができます。例えば
INSERT INTO T VALUES U&'escap\0027d'
どちらの例も、文字列escap'd
をテーブルに挿入します。
質問は古いですが、フレッドの答えを見つけましたが、元のポスターが要求した単一引用符の挿入が実際には行われないため、迷子になりました。代わりに、私がやりたかったことではない escap'd を挿入します。
以前はこれが唯一の方法だったかもしれません (Fred の方が私よりもよく知っているでしょう)、現在 hsqldb で単一引用符を挿入する最も簡単な方法は、Java で準備済みステートメント(p_insert) を作成し、文字列を設定することです。
p_insert.setString(1,"'"); p_insert.executeUpdate();
これにより、少なくともバージョン 2.3.2 では、実際にはデータベースに一重引用符が挿入されます。データベースから取得するには、SELECT ステートメントで二重引用符を使用する必要があります。