在Microsoft SQL Server中,可以指定“不区分重音”的排序规则(对于数据库,表或列)。在Db2中有可能吗?
答案 0 :(得分:1)
查看Unicode Collation Algorithm based collations文章。 整理顺序是在数据库创建时指定的,不能更改。
请参见CREATE DATABASE命令的“收集使用 locale-sensitive-collation ”子句。
无法在表或列级别指定排序规则顺序,但是可以使用COLLATION_KEY_BIT函数来比较字符串表达式。
select
case when c1=c2 then 1 else 0 end r1
, case when COLLATION_KEY_BIT(c1, 'CLDR181_EO_S1')=COLLATION_KEY_BIT(c2, 'CLDR181_EO_S1') then 1 else 0 end r2
from table(values ('Café', 'Cafe')) t(c1, c2);
R1 R2
-- --
0 1
如果您的数据库具有CLDR181_EO_S1排序规则,则第1列中的结果将为1。