db2 - Db2 是否支持“重音不敏感”排序规则?
问题描述
在 Microsoft SQL Server 中,可以指定“不区分重音”排序规则(用于数据库、表或列)。这在 Db2 中可行吗?
解决方案
查看基于 Unicode 排序算法的排序规则文章。整理顺序是在数据库创建时指定的,不能更改。
请参阅CREATE DATABASE命令的 'COLLATE USING 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。
推荐阅读
- java - 在 Android 模拟器中从本地 FTP 服务器下载时出现错误“227 进入被动模式”/“连接被拒绝”
- microsoft-graph-api - 将项目上传到个人 OneDrive 共享文件夹
- javascript - 将数组转换为嵌套对象
- c++ - lambda 尾随返回类型 auto 的用途是什么?
- java - Jelly 中的 ${it} 变量是如何设置的
- python - [Python]Socket外部连接错误
- ruby-on-rails - Protect_from_forgery with: :null_session -- 仍然无法验证 CSRF 令牌的真实性
- vba - VBA 代码运行时间过长
- amazon-web-services - 全局二级索引上的 AppSync 查询
- c - 如何使用 c 语言的 libav 库打开 .sw 文件?