假设我们使用以下脚本创建了一个表并插入了一条记录。
CREATE TABLE your_table ( your_column VARCHAR COLLATE "tr-TR-x-icu" );
INSERT INTO your_table(your_column) VALUES ('Gider');
当我执行以下修改后的脚本时,我得到了“不等于”结果。结果应该是“等于”,因为我使用了列的“tr-TR-x-icu”排序规则,并且文本“Gider”的上部在土耳其语中是“GIDER”。
SELECT
CASE WHEN UPPER(your_column)=UPPER('Gider') THEN 'equal'
ELSE 'not equal'
END AS result
FROM your_table;
当我执行以下脚本时,我得到了正确的答案(即“等于”)。
SELECT
CASE WHEN UPPER(your_column)=UPPER('Gider' COLLATE "tr-TR-x-icu") THEN 'equal'
ELSE 'not equal'
END AS result
FROM your_table;
如果有在此会话中设置此整理属性的方法,那就太好了。
例如,SET COLLATE...
在查询之前添加 like。
这样的话,不用写UPPER(your_column)=UPPER('Gider' COLLATE "tr-TR-x-icu")
,直接写就可以了UPPER(your_column)=UPPER('Gider')
。
如果有人能提供解决方案,我会很高兴。
最好的祝愿。