在sqlserver中檢查字符串的時候,切忌使用select輸出的表格中數據(這些數據有時會誤導你);
如下面腳本:
DECLARE @tmpVar1 VARCHAR(200)='55057400@WARM ORANGE 011 SP09 011'
DECLARE @tmpVar2 VARCHAR(200)='55057400@WARM ORANGE 011 SP09 011'
SELECT @tmpVar1 AS 'var1',@tmpVar2 AS 'var2'
輸出結果:
從上面兩個單元格中複製出來字符串檢查時,如下:
/*
55057400@WARM ORANGE 011 SP09 011
55057400@WARM ORANGE 011 SP09 011
*/
完全一樣,看不出來不同呀!
但是將上面腳本改爲用print輸出後,再看:
DECLARE @tmpVar1 VARCHAR(200)='55057400@WARM ORANGE 011 SP09 011'
DECLARE @tmpVar2 VARCHAR(200)='55057400@WARM ORANGE 011 SP09 011'
SELECT @tmpVar1 AS 'var1',@tmpVar2 AS 'var2'
/*
55057400@WARM ORANGE 011 SP09 011
55057400@WARM ORANGE 011 SP09 011
*/
PRINT @tmpVar1
PRINT @tmpVar2
能夠明顯看到兩個字符串中的不同,上面的是一個tab字符,而下面的字串中是一個空格字符;
結論:
在SQLSERVER中檢查字符串時,在看不出來不同的情況下,請使用Print進行輸出查看