规范化SQL Server中的unicode字符串?

Ian*_*oyd 7 sql-server globalization unicode internationalization sql-server-2008-r2

SQL Server中是否有一个函数来规范化unicode字符串?例如

UPDATE Orders SET Notes = NormalizeString(Notes, 'FormC')
Run Code Online (Sandbox Code Playgroud)

Unicode规范化表单:

  • Ç omposition(Ç):A+ ¨Ä
  • d ecomposition(d):Ä变为A+¨
  • 兼容成分(KC):A+ ¨+ ?+ n变为Ä+ f+ i+n
  • 兼容分解(KD):Ä+ ?+ n变为A+ ¨+ f+ i+n

我找不到任何内置函数,所以我假设没有.


理想情况下,如果只有一个,那么我今天碰巧需要表格C:

Unicode规范化形式C,规范组合.将每个分解的分组(由基本字符加组合字符组成)转换为规范的预组合等效项.例如,A +¨变为Ä.

也可以看看

bob*_*nce 6

对不起,不,迄今为止在任何版本的SQL Server中都没有这样的功能(2012测试版本).比较可以正确地对组合不敏感,但是没有将字符组合使用转换为一个普通形式的功能.

已经建议在语法的未来版本的ANSI标准,NORMALIZE(string, NFC)但它将在很长一段时间才能进入现实世界.目前,如果要进行规范化,则必须使用具有更好字符串处理功能的正确编程语言,或者通过将字符串拉出数据库或者通过编写CLR存储过程来完成规范化.