我这里真的很奇怪。
我在表中有2行,其中运行SELECT查询的同一列中的数据与其中一行中的尾随空格(或可能是另一个空白字符)相同。列声明为varchar(max)
。我想将两个值都视为相同(做一个GROUP BY,因为它发生)。
在RTRIM不起作用后,我查看了两者的变量......它们是相同的。但它们不是,我可以看到一个空格,GROUP BY将它们视为单独的值(这是我真正的问题)。
我已经尝试过替换CHAR(13) - 不是那样的。
任何线索?
CODE:
declare @vals table
(
id int identity primary key,
textval varchar(max)
)
insert into @vals (textval) values ('07.09.17 Liefertermin weiterhin nicht bekannt (LZ Elmshorn)')
insert into @vals (textval) values ('07.09.17 Liefertermin weiterhin nicht bekannt (LZ Elmshorn)
')
select id, textval + '*' from @vals
select id, RTRIM(LTRIM(REPLACE(textval,CHAR(13),''))) + '*' from @vals
select textval from @vals group by textval
答案 0 :(得分:0)
原来是回车+换行CHAR(13) CHAR(10)
感谢Panagiotis Kanavos将我的星期五大脑(最终)弯曲到了正确的道路上。
我发现了以下有用的https://www.codeproject.com/Tips/330787/LTRIM-RTRIM-doesn-t-always-work