2)、char_length():在mysql內(nèi)置函數(shù)里面查看字符串長(zhǎng)度的還有一個(gè)函數(shù)是char_length()。
3)、這兩個(gè)函數(shù)的區(qū)別是:
a)、length(): 單位是字節(jié),utf8編碼下,一個(gè)漢字三個(gè)字節(jié),一個(gè)數(shù)字或字母一個(gè)字節(jié)。gbk編碼下,一個(gè)漢字兩個(gè)字節(jié),一個(gè)數(shù)字或字母一個(gè)字節(jié)。
b)、char_length():?jiǎn)挝粸樽址还軡h字還是數(shù)字或者是字母都算是一個(gè)字符。
擴(kuò)展一下,MySQL5.0.3版本之后varchar類型的變化。
1)、MySQL 5.0.3 之前:0–255字節(jié),如:varchar(20)中的20表示字節(jié)數(shù),如果存放utf-8編碼的話只能放6個(gè)漢字。varchar(n),這里的n表示字節(jié)數(shù)。
MySQL 5.0.3 之后:0–65535字節(jié),varchar(20)表示字符數(shù),不管什么編碼,既漢字也能放20個(gè)。但最多占65532字節(jié)(兩個(gè)字節(jié)存放長(zhǎng)度,小于255字節(jié)用1個(gè)字節(jié)存放長(zhǎng)度),varchar(n)這里的n表示字符數(shù),比如varchar(200),不管是英文還是中文都可以存放200個(gè)。其他具體區(qū)別,可自行網(wǎng)上查詢。
4、length()<>char_length(),可以用來檢驗(yàn)是否含有中文字符。
utf-8編碼中判定某個(gè)字段為全英文,length(字段) = char_length(字段)即可。
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問西部數(shù)碼官網(wǎng):m.ps-sw.cn