Ⅰ 關於sql中varchar的長度不正確的問題
我覺得您應該首先確認一下存儲在資料庫中的張三,123的長度,很可能是你出入的時候就已經發生了錯誤。varchar類型,如果資料庫中數據沒有空格,取值到變數中,是絕對不可能出現空格的。所以問題很可能在你插入數據的時候就有了。這種按照長度補空格,只有char行才會有。
所以先確定一下資料庫表中數據的長度到底是多少?使用len函數查詢一下。
select
len(用戶名),
len(密碼)
from
表名字
看看長度是不是有問題。
另外,如果有空格,可以使用rtrim函數把右邊的空格去掉,這樣也可以保證數據的准確。
select
rtrim(用戶名),
rtrim(密碼)
from
表名
ltrim是去左側空格的函數,rtrim是去右側空格的函數。
因為SQLSERVER中沒有trim函數同時去掉左側右側的空格,所以要分別使用ltrim和rtrim來去掉左邊和右邊的空格。你這個只是在右側補了空格,使用rtrim就夠用了。