我需要在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脚本?感谢您的任何建议。
答案 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")