似乎 LEN() 忽略了變數右側的空格。
declare @a varchar(100)
set @a = 'John '
print len(@a)
上面的代碼列印 4 而它應該是 7。
這是一個錯誤嗎?
uj5u.com熱心網友回復:
這不是錯誤,這是預期的行為。參考檔案:
LEN不包括尾隨空格。如果這是一個問題,請考慮使用不修剪字串的DATALENGTH(Transact-SQL)函式
uj5u.com熱心網友回復:
不是錯誤,就在檔案中:
回傳指定字串運算式的字符數,不包括尾隨空格。
uj5u.com熱心網友回復:
請閱讀官方檔案。這是預期的行為。https://docs.microsoft.com/en-us/sql/t-sql/functions/len-transact-sql?view=sql-server-ver15#remarks
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/393893.html
標籤:sql-server
