JBu*_*ace 5 php sqlite pdo case-sensitive
我想SELECT ... LIKE在SQLite中运行区分大小写的查询.但我只希望这一个查询区分大小写,而不是其他任何问题.
我知道有
PRAGMA case_sensitive_like = boolean;
但这似乎改变了所有LIKE查询.
如何在单个查询中启用区分大小写的LIKE?
示例:我想查询"FuN"以匹配"blah FuN blah",但不是"foo fun bar".
(这是使用PDO在PHP下运行的)
我可以在查询之后切换,然后关闭,但我可以关注可能产生的影响(效率等).有什么危害吗?
我没有对数据库的写访问权限.
(这是在Windows Server 2008下)
我也试过,SELECT id, summary, status FROM Tickets WHERE summary COLLATE BINARY LIKE '%OPS%';但没有做区分大小写的SELECT,它仍然返回结果返回像笔记本电脑.
为什么不采用简单的使用方式
PRAGMA case_sensitive_like = true/false;
Run Code Online (Sandbox Code Playgroud)
在每个查询之前和之后你想成为案例敏感?但要注意 - 区分大小写仅适用于ASCII字符,而不适用于Unicode,这使得SQlite目前还不完全符合UC标准.
或者,SQlite允许应用程序实现REGEXP运算符,根据www.sqlite.org/lang_expr.html可能有所帮助.
| 归档时间: |
|
| 查看次数: |
6427 次 |
| 最近记录: |