在SQLite中不区分大小写

时间:2014-05-14 11:42:55

标签: sql sqlite

我需要在SQLite中选择一些不区分大小写的字符串行。例如:

COLLATE NOCASE正在为" ="工作,例如

SELECT id,name from trait WHERE name = "ratio" COLLATE NOCASE

但不适用于"在",例如

SELECT id,name from trait WHERE name in ("ratio") COLLATE NOCASE

我必须使用#34;"选择多个值,例如

SELECT id,name from trait WHERE name in ("ratio", 'number') COLLATE NOCASE 

我应该如何更改我的SQL脚本?感谢您的任何建议。

2 个答案:

答案 0 :(得分:3)

COLLATE NOCASE必须在它修改的表达式后直接出现。

当您编写name in ("ratio", 'number') COLLATE NOCASE时,排序规则将应用于比较的结果,它只是数字0或1;整理没有影响。

IN运算符使用左侧表达式的排序规则,因此必须应用排序规则:

... WHERE name COLLATE NOCASE IN ('ratio', 'number')

答案 1 :(得分:1)

怎么样

SELECT id,name 
FROM trait 
WHERE UPPER(name) IN ("RATIO")