我有一个查询,它会比较WHERE
子句中的值。
事情是,我得到了某些时候的口音。
所以,这些词语应该是不一样的,而它应该是。
例如,我登上了我的桌子t_etab
:
1 | Collège
2 | Université
我想在t_etab
中找到一行:
SELECT id_etab
from t_etab
where instr(UPPER('COLLEGE RANDOM '),UPPER(lib_etab)) > 0;
但是这不会得到id 1
,因为lib_etab
将是COLLÈGE
而不是COLLEGE
。
有没有办法忽略重音,所以我的查询返回1?
编辑:正如相关问题所述,我们必须自己替换/翻译所有字符。
谢谢。
答案 0 :(得分:-1)
与编辑这个答案相反,这里有一个更好的(以oracle为导向)答案:
https://stackoverflow.com/a/1572781/3824902
您需要强制查询重音不敏感的排序规则。您还需要确保双方具有相同的排序规则,否则在运行其他比较时可能会返回更多错误。
SELECT id_etab
from t_etab
where instr collate Latin1_General_CI_AI Like
'%COLLEGE%' collate Latin1_general_CI_AI