我想通过字符串匹配从sqlite3数据库选择记录。但是如果我在where子句中使用'=',我发现sqlite3是区分大小写的。有人能告诉我如何使用字符串比较不区分大小写吗?
当前回答
另一种选择可能对您的情况有意义,也可能没有意义,那就是实际上有一个单独的列,其中包含现有列的预先低分值。可以使用SQLite函数LOWER()填充该列,然后可以对该列执行匹配。
显然,它增加了冗余和潜在的不一致性,但如果您的数据是静态的,它可能是一个合适的选择。
其他回答
像这样使用
"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中选择测试名
可以使用like查询将各自的字符串与表值进行比较。
Select column name from table_name where column name like '各自的比较值';
另一种选择可能对您的情况有意义,也可能没有意义,那就是实际上有一个单独的列,其中包含现有列的预先低分值。可以使用SQLite函数LOWER()填充该列,然后可以对该列执行匹配。
显然,它增加了冗余和潜在的不一致性,但如果您的数据是静态的,它可能是一个合适的选择。
推荐文章
- SQLite:如何将查询结果保存为CSV文件?
- SQLite中“如果不存在,请插入”语句
- 转义单引号字符用于SQLite查询
- 如何创建默认值“现在”的时间戳列?
- 如何检索插入id后插入行在SQLite使用Python?
- PostgreSQL列名区分大小写吗?
- 不区分大小写的替换
- 创建存储过程和SQLite?
- Rails模型中不区分大小写的搜索
- SQLite并发访问
- 如何连接字符串与填充在sqlite
- 在Android SQLite中处理日期的最佳方法
- SQLite数据库文件使用什么扩展名重要吗?
- 无法加载DLL 'SQLite.Interop.dll'
- 快速简单的方法迁移SQLite3到MySQL?