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

2023-11-24

SQL Server中有没有一个函数可以标准化unicode字符串?例如

UPDATE Orders SET Notes = NormalizeString(Notes, 'FormC')

Unicode 规范化形式:

  • C​组成(C): A + ¨变成Ä
  • D​分解(D): Ä变成A + ¨
  • 兼容的成分(KC): A + ¨ + + n变成Ä + f + i + n
  • 兼容分解 (KD): Ä + + 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(使用前将#替换为@)

在 SQL Server 中规范化 unicode 字符串? 的相关文章

  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 检测/删除 Python 2 + GTK 中不成对的代理字符

    在Python 2 7中我可以成功转换Unicode字符串 abc udc34xyz 转换为 UTF 8 结果是 abc xed xb0 xb4xyz 但是当我将 UTF 8 字符串传递给例如时 pango parse markup or
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 无法连接 AWS - RDS 数据库:SQL Server 2012 Express

    我是 AWS 世界的新手 我在访问 RDS US East 1a 上的 Microsoft SQL Server 2012 Express 11 00 5058 实例时遇到问题 当我创建数据库实例时 我能够访问它 创建一些表 传输数据等 一
  • 声明日期,然后添加下一个工作日

    我没有得到我需要的结果 我想做的就是声明我的日期 然后添加下一个工作日 IE CASHDATE 1 这有效 但我需要下一个工作日是 5 号 DECLARE CASHDATE DATETIME SET CASHDATE 2016 12 02
  • 如何在插入后获取插入的行 ID 以及相关数据而不插入相关数据

    我有一组数据需要在表中产生新行 创建此行后 我需要将元数据附加到与此信息相关的单独表中 那就是我需要创建我的 Identity 首先 得到GlobalId从行返回 然后附加 Accounts and Metadata to it 插入数据并
  • SQL Server 2008插入优化

    我必须将大量行 超过 1 000 000 000 插入到 SQL Server 数据库中 该表有一个 AI Id 两个 varchar 80 列和一个以 GETDATE 作为默认值的小日期时间 最后一项只是为了听觉 但却是必要的 我想知道插
  • Django:在视图中访问时,settings.py 中的重音字符被破坏

    我在 settings py 中有重音字符 我使用 getattr settings MY CONSTANT NAME 在视图中访问这些字符 但 getattr 调用返回损坏的字符 例如 变为 xc3 xb4 这是 view py 中的代码
  • 主键和代理键有什么区别?

    我用谷歌搜索了很多 但没有找到带有示例的确切直接答案 任何例子都会更有帮助 主键是表中的唯一键 您选择它可以最好地唯一标识表中的记录 所有表都应该有一个主键 因为如果您需要更新或删除一条记录 您需要知道如何唯一标识它 代理键是人工生成的键
  • 如何处理 FOR XML PATH/AUTO 中的空白值 - SQL Server?

    有没有人对这种 SQL Server 行为有任何见解或遇到过 当空白值转换为数据类型时 char 或具有 的列char 作为数据类型 处理使用For XML PATH 它返回 XML 结果 20 空格的特殊字符编码 当相同的空白值转换为va
  • PowerShell:带有 Get-Credential 的 invoke-sqlcmd 不起作用

    我从未见过如此简单的脚本会如此失败 SQLServer localhost cred Get Credential invoke sqlcmd ServerInstance SQLServer Credential cred Query s
  • 由于表扫描,表值参数的性能较低

    我有一个将参数传递给 SQL 过程的应用程序 其中一个参数是表值参数 其中包含要包含在 where 子句中的项目 因为当我将 TVP 连接到具有 200 万行的表时 表值参数没有附加任何统计信息 所以查询速度非常慢 我还有什么选择 同样 目
  • 使用实体框架的子查询

    我正在移植一个子系统NHibernate to 实体框架并希望了解将以下查询移植到的最佳方法EF var date DateTime Now It can be any day AccountBalanceByDate abbd null
  • 将多对多关系中的所有相关记录分组,SQL 图形连接组件

    希望我错过了一个简单的解决方案 我有两张桌子 其中包含一份公司列表 第二个包含出版商列表 两者之间的映射是多对多的 我想要做的是将表 A 中与表 B 中的发布商有任何关系的所有公司捆绑或分组 反之亦然 最终结果看起来像这样 GROUPID
  • 将数据库导出为脚本;序列设置不正确

    我想从 SQL Server 2016 获取数据库并将其设置在客户站点的 2014 服务器上 在 SSMS 中 我选择任务 gt 生成脚本 并获取包含所有内容的 SQL 文件CREATE TABLE声明等 我的印象是序列没有正确生成 这些序
  • 如何在asp.net中制作多语言网站

    我正在 asp net 中以多种语言开发一个网站 但我不明白这是如何做到的 因为我们可以通过使用资源文件来管理多语言 我们做到了这一点 但我的主要问题是我们如何在运行时为特定用户改变全球化 如果 A 用户选择英语 那么他 她可以用英语查看此
  • Codeigniter 未连接到 SQL Server

    我正在尝试使用 CodeIgniter 连接到 SQL 服务器 如果我使用 sqlsrv 驱动程序 我会收到致命错误消息 如果我使用 odbc 驱动程序 我会收到 无法使用提供的设置连接到数据库服务器 错误消息 有谁知道如何解决这个问题 我
  • Ruby:如何将文件保存为 UTF-16 Little Endian

    我想用UTF 16 Little Endian将 保存到txt文件中 我通过一些方式进行了测试 1 下面的编码是UTF 8 RegisterMark 174 pack U file File new C Output txt w file
  • 检索存储过程的先前版本

    我今天修改了一个存储过程 但之后我意识到它是错误的 所以我想把它恢复回来 有什么方法可以获取之前修改的存储过程或最后日期的存储过程 我也没有任何备份 谢谢 不直接在 SQL Server 中 除非您在源代码管理或其他地方保留了脚本 否则您唯
  • 在 CakePHP 中本地化 timeAgoInWords

    在我的 CakePHP 应用程序中 通过使用 cake bat 我创建了 POT 文件 通过使用 PoEdit 我创建了 PO 文件 所以通过写 我的话 我可以在我的应用程序中成功看到本地化的单词 但现在我需要本地化 timeAgoInWo

随机推荐