我想通过字符串匹配从sqlite3数据库选择记录。但是如果我在where子句中使用'=',我发现sqlite3是区分大小写的。有人能告诉我如何使用字符串比较不区分大小写吗?
当前回答
另一种选择是创建自己的自定义排序规则。然后可以在列上设置排序规则,或将其添加到选择子句中。它将用于排序和比较。
这可以用来使'VOILA'像'voilà'。
http://www.sqlite.org/capi3ref.html#sqlite3_create_collation
排序函数必须返回一个整数,如果第一个字符串分别小于、等于或大于第二个字符串,则该整数为负、零或正。
其他回答
如果列的类型是char,那么你需要用空格来附加你正在查询的值,请参考这里的问题。除此之外,还可以使用COLLATE NOCASE或其他解决方案(upper()等)。
SELECT * FROM ... WHERE name = 'someone' COLLATE NOCASE
像这样使用
"select * from $pwsXDataHistory where type = '$type' COLLATE NOCASE and $t_uStatus != '$DELETE' order by $t_name COLLATE NOCASE asc ");
简单地说,你可以在SELECT查询中使用COLLATE NOCASE:
SELECT * FROM ... WHERE name = 'someone' COLLATE NOCASE
这对我很有效。 从表_name中选择测试名
推荐文章
- SQLite并发访问
- 如何连接字符串与填充在sqlite
- 在Android SQLite中处理日期的最佳方法
- SQLite数据库文件使用什么扩展名重要吗?
- 无法加载DLL 'SQLite.Interop.dll'
- 快速简单的方法迁移SQLite3到MySQL?
- 我如何做一个不区分大小写的字符串比较?
- Oracle中不区分大小写的搜索
- 在Ubuntu上安装sqlite3-ruby错误
- sqlite3。ProgrammingError:提供的绑定数量不正确。当前语句使用1,并提供了74个
- SQLite有。net / c#包装器吗?
- 如何在Django ORM中查询不区分大小写的数据?
- Android开发有什么好的ORM工具吗?
- 不区分大小写的搜索
- 如何在SQLite中看到表的结构?