gpt4 book ai didi

SQL DISTINCT 不会删除重复项

转载 作者:行者123 更新时间:2023-12-01 11:25:16 28 4
gpt4 key购买 nike

我已经使用下面的查询来删除重复项。但它仍然显示重复项。你能告诉我为什么吗?

select DISTINCT a.Company 
from [Legacy].[dbo].[Attorney] as a

enter image description here

更新:下面一个也不起作用。你能告诉我为什么吗?
select DISTINCT ltrim(rtrim(a.Company)) from [Legacy].[dbo].[Attorney] as a

更新 2:现在,它显示 3.我不知道为什么?
select  DISTINCT ltrim(rtrim(a.Company)),convert(varbinary(100), a.Company) from [Legacy].[dbo].[Attorney] as a  

enter image description here

最佳答案

从您的最新截图中可以明显看出,不同之处在于:

  • “数字”为 17 的行以字母“n”结尾:6E00 = 0x006E
  • “编号”为 18 的行 n以两个空格结尾:20002000 = 2x 0x0020
  • 后面有“数字”19 的那一行 n以 CR+LF 换行序列结束:0D000A00 = 0x000D + 0x000A

  • 所以这三个名称确实不同,它只是在显示行的查询工具中没有视觉差异。

    要在导入期间解决此问题,您必须从字符串的末尾修剪空格,这应该处理这 3 个不同的字符。请注意 LTRIMRTRIM只删除“空白”,在文档中进一步说明只考虑空格。因此,您必须使用不同的修剪函数(例如在您使用的编程语言中)来进行修剪。

    关于SQL DISTINCT 不会删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37834990/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com