【问题标题】:How to avoid special characters in android SQLite?如何避免android SQLite中的特殊字符?
【发布时间】:2012-10-06 10:27:29
【问题描述】:

我应该如何在 android 中编写特殊字符正确工作的 sql 查询。例如,当我使用带有 % 符号的 like 过滤字符串时,它就无法正常工作。

【问题讨论】:

    标签: android sqlite search special-characters


    【解决方案1】:

    对于LIKE,您可以在查询中选择使用什么转义它们;

    SELECT * FROM Olle WHERE name LIKE 'Many ^% have fallen' ESCAPE '^';
    

    ...将仅匹配实际字符 %,因为它已使用 ESCAPE 子句中给出的 ^ 进行转义。

    SQLfiddle here.

    【讨论】:

    • 在类似查询中我还需要转义其他字符吗?
    • @Vahan 仅限 %(任何字符串)、_(任何字符)和转义字符本身。
    • 我用 java String.replace("%", "^%");它不能替换,我认为因为 % 是 java 中的特殊字符,你能帮帮我吗?
    • @Vahan 正确的使用方式是String stringWithPercentReplaced = originalString.replace("%", "%^"); 不会替换原来的String,而是返回一个新的String
    • @Joachim Isaksson,谢谢,我也要换下划线?以及如何转义转义字符本身,witj replace("^","^^") ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多