方法:1、利用length()函數查詢,單位是字節,一個漢字是三個字節,數組和字母是一個字節,語法為“length(字符)”;2、利用“char_length()”函數查詢,單位為字符,漢字、數字和字母都是一個字符單位。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
mysql怎樣查詢字符長度
先了解一下,Mysql中length()、char_length()的區別。
1)、length():mysql里面的length()函數是一個用來獲取字符串長度的內置函數。
2)、char_length():在mysql內置函數里面查看字符串長度的還有一個函數是char_length()。
3)、這兩個函數的區別是:
a)、length(): 單位是字節,utf8編碼下,一個漢字三個字節,一個數字或字母一個字節。gbk編碼下,一個漢字兩個字節,一個數字或字母一個字節。
b)、char_length():單位為字符,不管漢字還是數字或者是字母都算是一個字符。
擴展一下,MySQL5.0.3版本之后varchar類型的變化。
1)、MySQL 5.0.3 之前:0–255字節,如:varchar(20)中的20表示字節數,如果存放utf-8編碼的話只能放6個漢字。varchar(n),這里的n表示字節數。
MySQL 5.0.3 之后:0–65535字節,varchar(20)表示字符數,不管什么編碼,既漢字也能放20個。但最多占65532字節(兩個字節存放長度,小于255字節用1個字節存放長度),varchar(n)這里的n表示字符數,比如varchar(200),不管是英文還是中文都可以存放200個。其他具體區別,可自行網上查詢。
4、length()<>char_length(),可以用來檢驗是否含有中文字符。
utf-8編碼中判定某個字段為全英文,length(字段) = char_length(字段)即可。
推薦學習:mysql視頻教程