SQLite中COLLATE NOCASE的相反排序规则是什么?是否有类似YESCASE的选项?
SQLite中COLLATE NOCASE的反向选项说明
SQLite里不存在COLLATE YESCASE或COLLATE WITHCASE这类命名的排序规则选项。
COLLATE NOCASE的相反行为,对应SQLite默认的二进制排序规则(BINARY)——它会严格区分大小写,因为是直接基于字符的二进制值进行比较和排序的。
举个实际对比的例子:
- 用
NOCASE规则时,'Apple' = 'apple'会返回TRUE - 用默认的
BINARY规则时,'Apple' = 'apple'会返回FALSE
如果需要显式指定区分大小写的规则,直接写COLLATE BINARY就行,比如执行查询:
SELECT * FROM products WHERE product_name = 'Apple' COLLATE BINARY;
另外提一句:SQLite内置的排序规则还有RTRIM(忽略字符串末尾空格),但要实现和NOCASE完全相反的大小写敏感行为,BINARY就是对应的选项。
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

