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

SQL应用collate Latin1_General_CS_AS后检测重复值及反向操作方法

SQL Server Latin1_General_CS_AS 排序规则相关问题解答

你通过添加COLLATE Latin1_General_CS_AS实现大小写敏感匹配的方案是有效的:该排序规则中CS代表大小写敏感(Case-Sensitive)、AS代表重音敏感(Accent-Sensitive),配置后TODDj与TODDJ这类仅存在大小写差异的字符串会被判定为不同值。

反向操作(切回大小写不敏感匹配)实现方式

反向操作的核心是使用带CI(Case-Insensitive,大小写不敏感)标识的排序规则覆写现有规则,分两种使用场景:

  • 临时查询/匹配时使用大小写不敏感逻辑:直接在字段后追加COLLATE Latin1_General_CI_AS即可,仅对当前语句生效,不会修改字段原有配置
-- 示例:临时大小写不敏感匹配查询
SELECT * FROM Customer
WHERE CustName COLLATE Latin1_General_CI_AS = 'TODDJ'
-- 该语句会匹配CustName为TODDj、toddj、TODDJ等所有仅大小写不同的记录
  • 永久将字段排序规则改回大小写不敏感:执行ALTER语句修改字段属性,修改后所有默认查询都会走大小写不敏感逻辑
-- 示例:永久修改字段排序规则为大小写不敏感
ALTER TABLE Customer
ALTER COLUMN CustName VARCHAR(100) -- 字段长度、类型要和原字段保持一致
COLLATE Latin1_General_CI_AS;

注意:永久修改字段排序规则前务必备份表数据,如果字段上绑定了索引、唯一约束等对象,需要先删除对应对象再执行修改,修改完成后重建即可。

字段已配置CS_AS规则时,查询、统计、报告大小写重复值的方法

这里的重复值指忽略大小写后内容一致,但实际存储大小写存在差异的记录,实现逻辑是在分组统计时临时将排序规则切换为大小写不敏感,筛出存在多写法的分组后,即可关联查询明细、生成统计报告:

  1. 先做聚合统计,确认存在多少组重复值、每组的出现次数
-- 重复值聚合统计
SELECT
    CustName COLLATE Latin1_General_CI_AS AS 基准匹配值,
    COUNT(*) AS 组内总记录数,
    COUNT(DISTINCT CustName) AS 不同大小写写法数量
FROM Customer
GROUP BY CustName COLLATE Latin1_General_CI_AS
HAVING COUNT(DISTINCT CustName) > 1; -- 筛选存在多种大小写写法的分组
  1. 查询所有重复记录的明细,方便核对
-- 查询重复值全量明细
WITH DuplicateStats AS (
    SELECT CustName COLLATE Latin1_General_CI_AS AS MatchValue
    FROM Customer
    GROUP BY CustName COLLATE Latin1_General_CI_AS
    HAVING COUNT(DISTINCT CustName) > 1
)
SELECT t.*
FROM Customer t
INNER JOIN DuplicateStats s
ON t.CustName COLLATE Latin1_General_CI_AS = s.MatchValue
ORDER BY s.MatchValue, t.CustName;
  1. 生成直观的汇总报告
    可以用字符串聚合函数把同一基准值下的不同写法拼接为单列,直接导出即可作为重复值报告:
-- 重复值汇总报告
SELECT
    CustName COLLATE Latin1_General_CI_AS AS 基准值,
    STRING_AGG(CustName, '、') WITHIN GROUP (ORDER BY CustName) AS 所有存在的大小写写法,
    COUNT(*) AS 关联记录总数
FROM Customer
GROUP BY CustName COLLATE Latin1_General_CI_AS
HAVING COUNT(DISTINCT CustName) > 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:06:29