You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL计算RowSum标记村镇表重复项时不区分大小写和重音的实现问题

解决方案

你之前的操作未生效,是因为没有在分组统计、关联匹配两个核心步骤同时应用不区分大小写和重音的排序规则,统一指定规则即可实现需求,正确代码如下:

UPDATE
    Mapping.dbo.OsmGlobal
SET
    notUnique = 1
FROM
    Mapping.dbo.OsmGlobal osm
JOIN (
        SELECT [name] COLLATE Latin1_General_CI_AI AS name_ci_ai, COUNT(*) AS RowSum
        FROM Mapping.dbo.OsmGlobal
        GROUP BY [name] COLLATE Latin1_General_CI_AI
        HAVING COUNT(*) > 1
) cnt
ON osm.[name] COLLATE Latin1_General_CI_AI = cnt.name_ci_ai
GO

规则说明

Latin1_General_CI_AI排序规则的两个核心属性正好匹配你的需求:

  • CI:不区分大小写
  • AI:不区分重音、变音符号(ñ、ä这类带特殊符号的字符会被识别为对应的普通字母)

执行上述代码后,Pasadena和Pasadeña会被归为同一重复分组,三条对应记录的notUnique字段都会被标记为1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:39:02