2

Hsqldbテーブルに一重引用符を挿入するにはどうすればよいですか?エスケープ文字は問題に対して機能しません。

4

2 に答える 2

7

2つの方法があります。

  1. 2つの一重引用符を使用します。例えばINSERT INTO T VALUES 'escap''d'

  2. Unicode文字列を使用します。Unicode文字列にはUnicodeエスケープを含めることができます。例えばINSERT INTO T VALUES U&'escap\0027d'

どちらの例も、文字列escap'dをテーブルに挿入します。

于 2012-11-15T12:59:56.337 に答える
0

質問は古いですが、フレッドの答えを見つけましたが、元のポスターが要求した単一引用符の挿入が実際には行われないため、迷子になりました。代わりに、私がやりたかったことではない escap'd を挿入します。

以前はこれが唯一の方法だったかもしれません (Fred の方が私よりもよく知っているでしょう)、現在 hsqldb で単一引用符を挿入する最も簡単な方法は、Java で準備済みステートメント(p_insert) を作成し、文字列を設定することです。

p_insert.setString(1,"'"); p_insert.executeUpdate();

これにより、少なくともバージョン 2.3.2 では、実際にはデータベースに一重引用符が挿入されます。データベースから取得するには、SELECT ステートメントで二重引用符を使用する必要があります。

于 2014-12-17T17:01:06.970 に答える