SELECT TRANSLATE('NEE', 'Ee', 'Ee')
--NEE
SELECT TRANSLATE('NEE', 'eE', 'eE')
--Nee
SELECT TRANSLATE('NÉE', 'Éé', 'Ee')
--NEE
SELECT TRANSLATE('NÉE', 'éÉ', 'eE')
--NeE
如何防止不同大小写字符的匹配?在上面的例子中,小写字符的输出不是我所期望的。
对于区分大小写的函数调用,最简单的方法是使用区分大小写的排序规则。
测试脚本:
SELECT TRANSLATE('NEE', 'Ee', 'Ee')
, TRANSLATE('NEE', 'eE', 'eE')
, TRANSLATE('NÉE', 'Éé', 'Ee')
, TRANSLATE('NÉE', 'éÉ', 'eE')
, TRANSLATE('NEE', 'Ee' collate latin1_general_cs_as, 'Ee' collate latin1_general_cs_as)
, TRANSLATE('NEE', 'eE' collate latin1_general_cs_as, 'eE' collate latin1_general_cs_as)
, TRANSLATE('NÉE', 'Éé' collate latin1_general_cs_as, 'Ee' collate latin1_general_cs_as)
, TRANSLATE('NÉE', 'éÉ' collate latin1_general_cs_as, 'eE' collate latin1_general_cs_as)
输出:
(第 1 栏) | (第2栏) | (第3栏) | (第 4 栏) | (第5栏) | (第6栏) | (第7栏) | (第8栏) |
---|---|---|---|---|---|---|---|
NEE | 妮 | NEE | NeE | NEE | NEE | NEE | NEE |