明明字符串完全一樣,爲什麼條件不執行?

在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進行輸出查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章