6

私が使用しているさまざまなSQL製品では、疑問符(?)がクエリの入力パラメーターを示しています。

その動作を回避して、疑問符を含むテキストを検索するにはどうすればよいですか...

SELECT *
FROM   A_TABLE
WHERE  A_FIELD = 'This is a question mark not an input parameter?'

...上記の疑問符は文字通りの疑問符であり、プレースホルダーではありません。答えが製品固有の場合、私は現在Derby(別名Java DB)を使用しています。

4

3 に答える 3

4

逃げる必要はまったくありません?WHEREあなたが投稿した場合のように、それは条項と特別な意味を持ちません。

于 2012-08-29T10:03:09.827 に答える
1

前述のように、「?」等しいに続くことはワイルドカードとして機能しません。疑問符を含むフィールド内の行を検索するには、次を使用します。

SELECT * FROM A_TABLE
WHERE A_FIELD LIKE '%[?]%'
于 2021-09-02T21:43:25.917 に答える
0

ユースケースが、jsonb指定したキーが列にあるかどうかを確認する場合は、追加?するだけで。が返されCause: org.postgresql.util.PSQLException: No value specified for parameterます。

mybatisの解決策は、単一の疑問符(?)を使用する代わりに、二重の疑問符(??)を使用する必要があります。

例えば: SELECT * from table where jsonb_column ?? 'key'

于 2021-05-26T08:21:38.187 に答える