0

$!(%&'^%$&'%^&&'^'%' のように DB で検索したい

次のクエリを試しましたが、まだエラーが表示されます:

select * from data
where data1 LIKE \'$!(%&'^%$&'%^&&'^'%'\'

select * from data
where data1 LIKE '$!(%&'^%$&'%^&&'^'%''

select * from data
where data1 LIKE '$!(%&\'^%$&\'%^&&\'^\'%\''

select * from data
where data1 LIKE '$!(%&\\'^%$&\\'%^&&\\'^\\'%\\''

select * from data
where data1 LIKE '$!(%&\'^%$&\'%^&&\'^\'%\'' ESCAPE '\'
4

2 に答える 2

1

皆さん、ありがとうございました。
答えがわかりました。

String originalString = "$!(%&'^%$&'%^&&'^'%'";
String convertedString = DatabaseUtils.sqlEscapeString(num);

この convertString をパラメーターとしてクエリに渡します。

于 2012-12-06T10:56:26.613 に答える
0

SQLite のドキュメントから:

文字列内の一重引用符は、2 つの一重引用符を連続して配置することでエンコードできます。

したがって、次のように単一引用符を二重にします。

select * from data
where data1 LIKE "$!(%&''^%$&''%^&&''^''%''"

しかし、正直なところ、他の特殊文字を見逃していないかどうかを確認するために、もう少し読む必要がありました...

于 2012-12-05T07:07:11.730 に答える