You need to enable JavaScript to run this app. 如何在T-SQL中移除字符串内的组合重音符号?
优惠活动
大模型
产品
解决方案
定价
更多

如何在T-SQL中移除字符串内的组合重音符号?

实现方案

方法1:调整REPLACE的排序规则(适配你原本的实现思路)

你最初的REPLACE写法不生效,是因为默认排序规则会把带组合重音的о识别为单个字符,不会拆分出单独的重音符号做匹配。指定二进制排序规则强制按字符编码逐位匹配即可:

SELECT REPLACE(N'ко́шка' COLLATE Cyrillic_General_BIN, NCHAR(0x0301), N'')

执行后会直接返回你需要的кошка结果。

方法2:重音不敏感排序规则转换(通用移除所有重音场景)

如果需要一次性移除字符串内所有类型的西里尔字符重音,不需要逐个枚举重音符号,可以用排序规则转换的方式实现:

SELECT CAST(CAST(N'ко́шка' AS VARCHAR(100)) COLLATE Cyrillic_General_CI_AI AS NVARCHAR(100))

其中CI_AI后缀的排序规则代表大小写不敏感、重音不敏感,转换时会自动把所有带重音的字符替换为无重音的基础字符。

内容的提问来源于stack exchange,提问作者Sergey Slepov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 20:06:03