SQL Server中有没有一个函数可以标准化unicode字符串?例如
UPDATE Orders SET Notes = NormalizeString(Notes, 'FormC')
Unicode 规范化形式:
-
C组成(C):
A
+ ¨
变成Ä
-
D分解(D):
Ä
变成A
+ ¨
- 兼容的成分(KC):
A
+ ¨
+ fi
+ n
变成Ä
+ f
+ i
+ n
- 兼容分解 (KD):
Ä
+ fi
+ n
变成A
+ ¨
+ f
+ i
+ n
我找不到任何内置函数,所以我假设没有。
理想情况下,如果只能有一份,那么我今天正好需要表格 C:
Unicode 规范化形式 C,规范组成。将每个分解的分组(由基本字符加上组合字符组成)转换为规范的预组合等效项。例如,A + ¡ 变为 ä。
See also
- Windows 中的 Unicode 标准化
- 如何从 .NET 中的字符串中删除变音符号(重音符号)?
- NormalizeString 函数
- 整理一下:SQL Server 使用什么规范化形式
抱歉,没有,迄今为止的任何版本的 SQL Server(2012 测试版本)中都没有这样的功能。比较可以正确地对组合不敏感,但没有将字符组合用法转换为一种正常形式的函数。
已建议在 ANSI 标准的未来版本中使用以下语法NORMALIZE(string, NFC)
但这还需要很长时间才能进入现实世界。现在,如果您想要进行规范化,则必须使用具有更好字符串处理功能的适当编程语言来完成,方法是从数据库中提取字符串或编写 CLR 存储过程来完成此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)