length: 是計算字段的長度一個漢字是算三個字符,一個數字或字母算一個字符
char_length:不管漢字還是數字或者是字母都算是一個字符
例子:
1、你要查的的數據時英文狀態下的3個字符, 那個這種查詢你就需要用length這個mysql的函數來實現了,length是計算字段的長度一個漢字是算三個字符,一個數字或字母算一個字符
代碼如下 復制代碼select * from user where length(username) = 3
這樣查詢的結果會是出現所有3個字符的用戶名字段全部顯示出來,不會出現3個漢字的用戶名出來
2、你要查詢的是只要是占了三個位置的摸一個字段, 那你就應該使用char_length這個來查詢,這個函數是不管漢字還是數字或者是字母都算是一個字符,
代碼如下 復制代碼select * from user where char_length(username) = 3
length: 是計算字段的長度一個漢字是算三個字符,也有可能是4個或者其他, 這個要看你數據庫的編碼,一個數字或字母算一個字符
注意,對於多字節字符,其CHAR_LENGTH()僅計算一次。
SELECT Name, CHAR_LENGTH(Name) AS CharLength
FROM DVDs
WHERE CHAR_LENGTH(Name)>5
ORDER BY Name;