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

如何删除数据库表中存在大写重复项的小写记录

仅删除存在对应大写重复项的非全大写记录

核心思路

只删除那些存在对应全大写重复项的非全大写记录,全大写记录以及无对应全大写的非全大写记录均保留。

验证待删除记录(必做步骤)

先执行查询确认要删除的目标记录,避免误删:

-- 替换 your_table 为你的表名
SELECT t1.*
FROM your_table t1
JOIN your_table t2 ON UPPER(t1.Nombre) = t2.Nombre
WHERE t1.Nombre != UPPER(t1.Nombre)
  AND t2.Nombre = UPPER(t2.Nombre);

针对不同数据库的删除语句

MySQL

DELETE t1
FROM your_table t1
JOIN your_table t2 ON UPPER(t1.Nombre) = t2.Nombre
WHERE t1.Nombre != UPPER(t1.Nombre)
  AND t2.Nombre = UPPER(t2.Nombre);

PostgreSQL

DELETE FROM your_table t1
USING your_table t2
WHERE UPPER(t1.Nombre) = t2.Nombre
  AND t1.Nombre != UPPER(t1.Nombre)
  AND t2.Nombre = UPPER(t2.Nombre);

SQL Server

DELETE t1
FROM your_table t1
INNER JOIN your_table t2 ON UPPER(t1.Nombre) = t2.Nombre
WHERE t1.Nombre <> UPPER(t1.Nombre)
  AND t2.Nombre = UPPER(t2.Nombre);

逻辑说明

  • UPPER(t1.Nombre) = t2.Nombre:匹配非全大写记录对应的全大写重复项
  • t1.Nombre != UPPER(t1.Nombre):筛选出非全大写的记录
  • t2.Nombre = UPPER(t2.Nombre):确保匹配的是全大写的重复记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:30:54