SQLite 中区分大小写和不区分大小写

2021-12-08 00:00:00 sqlite case-sensitive

在 SQLite 中,可以使用以下命令更改LIKE"的大小写敏感行为:

In SQLite it is possible to change the case sensitive behaviour of 'LIKE' by using the commands:

PRAGMA case_sensitive_like=ON;
PRAGMA case_sensitive_like=OFF;

但是在我的情况下,我想执行一个查询,其中一部分区分大小写,一部分不区分大小写.例如:

However in my situation I would like to execute a query, part of which is case sensitive and part of which isn't. For example:

SELECT * FROM mytable
WHERE caseSensitiveField like 'test%'
AND caseInsensitiveField like 'g2%'

这可能吗?

推荐答案

您可以在不区分大小写的字段上使用 UPPER 关键字,然后将您的 like 语句大写.例如

You can use the UPPER keyword on your case insensitive field then upper-case your like statement. e.g.

SELECT * FROM mytable 
WHERE caseSensitiveField like 'test%' 
AND UPPER(caseInsensitiveField) like 'G2%'

相关文章