【发布时间】:2012-12-30 04:52:15
【问题描述】:
这可能太简单了,但我似乎无法弄清楚这一点。
我有一个简单的 SELECT DISTINCT 语句,它返回两行:代码和说明
它们是这样的:
00065 Stmt to Party 2-4 pgs
00065 Stmt to Party 2-4 pgs
但是,SELECT 语句中的 DISTINCT 永远不会过滤掉重复的。我尝试在 Excel 2010 中粘贴这两个值并尝试使用“删除重复”功能,没有用;我还尝试了一个像这样的简单公式:=IF(D337=D338,"X","Y") 结果总是“Y”。
Excel 中的 AutoFilter 也表明这些字符串是不同的。
字符串的长度是相等的,用 SQL Server LEN(DESCRIPTION) 函数测试。其中也没有看不见的特殊字符。
我如何找出这两个字符串之间的 什么 不同?请注意,我仅将 Excel 用于测试/故障排除目的。
请帮忙。谢谢你。
【问题讨论】:
-
你能转换成两个字符串中的字节吗?例如。这里string-functions.com/string-hex.aspx 当然,您在此处粘贴的内容看起来相同 - 但可能与您在源代码中的内容不同。
-
@Caribou 哇,你是对的;太感谢了。它们导致两个略有不同的编码字符串。下一步是什么?
-
嗯 - 它们来自哪里以及它们为什么不同:) 我无法回答 - 我假设如果您需要更正它们,那么您可以进行手动更新(查询)以便不正确的是?
-
听起来有人正在从网络、Word 或其他文本格式化应用程序中将文本复制到您的数据库中。对于您的数据库客户端应用程序来说,像这样过滤掉文本垃圾很重要(除非您真的希望它在您的数据库中)。
标签: sql-server string tsql sql-server-2005 duplicates