datalength: 返回字串的位元組長度
len: 返回字元長度
如果在sql2005中定義了如下字段, mycolumn varchar(10);
這時mycolumn只能儲存10個位元組長度的字串,
比如:'0123456789'是正確的
而'零123456789'是錯誤的,為什麼呢,因為'零'佔了兩個位元組,
所以,我們在儲存值的時候需要判斷當前的值是否大於字段定義長度:
我們一般知道,在sql中使用len這個函式獲取長度,
如果簡單的做如下處理:
if len(《值》) > 10 begin
《擷取值》
end顯然會出錯,因為len取得的字元長度(記得啊,是字元而不是位元組),所以對於上邊的'零123456789'這個字串依然是10
這時候,我們就必須使用datalength來判斷其長度啦,
對於這種判斷長度問題,處理起來倒是很麻煩,
所以呢,建議各位在建立欄位的時候直接用unicode型別吧,即nvarchar
這樣就可以直接使用len來判斷長度啦,
這樣定義還有乙個好處是在使用sql給我們提供的常規函式時,也可以暢通無阻
如: left,right,substring等
SQL中Len與DataLength區別
sql中求字串長度問題 一 len param 求字串的長度 datalength param 求字串所佔的位元組長度 二 len不返回文字之後的空格長度 而datalenth則不同 三 針對ntext text image這樣的資料型別 求長度datalenth非常有用。因為 1 這些資料型別對應...
魔法方法 getitem ()和 len
1.魔法函式簡介 在python中,如果想實現建立類似於序列和對映的類 可以迭代以及通過 下標 返回元素 可以通過重寫魔法方法的方式去實現。常見的魔法方法包括 getitem setitem delitem len 它們的函式功能為 1 getitem self,key 返回鍵對應的值 2 len ...
for迴圈 len函式和range函式的運用
函式 len 作用 返回字串 列表 字典 元組等長度 語法 len str 引數 str 要計算的字串 列表 字典 元組等 返回值 字串 列表 字典 元組等元素的長度 例項1 計算字串的長度 s hello word len s 92 計算列表的元素個數 str h e l l o len str ...