我有两个数据库,它们分别是从家庭办公室复制到位置以及从位置复制到家庭办公室。 (在内部构建过程中)
我受命比较HO和Loc的数据。我有一些varchar字段,当查看查询中的数据时,它们似乎匹配。但是当我进行比较HO.Desc = Loc.Desc时,我得到了false。我发现一个或另一个值中有返回值,有时还存在隐藏的空格。我已经完成了Rtrim(ltrim(loc.desc)= rtrim(ltrim(ho.desc))的结果,仍然是相同的结果。有人可以给我一些如何进行比较的建议吗?
我尝试过ltrim(rtrim(value))
我希望能够将两个值标记为相同。
答案 0 :(得分:0)
我有一个方便的脚本,用于识别不可见的字符;它会为您提供字符串中的每个字符,但每个字符单独排成一行。
DECLARE @nstring NVARCHAR(1000)
select top 1 @nstring = [Desc]
FROM myTable
WHERE [Desc] LIKE '%Criteria%'
print @nstring
DECLARE @position INT
SET @position = 1
DECLARE @CharList TABLE (
Position INT,
UnicodeChar NVARCHAR(1),
UnicodeValue INT
)
WHILE @position <= DATALENGTH(@nstring)
BEGIN
INSERT @CharList
SELECT @position as Position
,CONVERT(nchar(1),SUBSTRING(@nstring, @position, 1)) as UnicodeChar
,UNICODE(SUBSTRING(@nstring, @position, 1)) as UnicodeValue
SET @position = @position + 1
END
SELECT * FROM @CharList