您好,登錄后才能下訂單哦!
本文主要給大家介紹CHARACTER_LENGTH函數用法講義,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
在MySQL中,CHARACTER_LENGTH()函數返回字符串的長度,以字符為單位。
CHARACTER_LENGTH()是CHAR_LENGTH()函數的同義詞。
語法是這樣的:
CHARACTER_LENGTH(str)
其中str是返回長度的字符串。
例1 -基本用法
下面是一個基本用法的例子:
SELECT CHARACTER_LENGTH('Cat');
結果是這樣的:
+-------------------------+ | CHARACTER_LENGTH('Cat') | +-------------------------+ | 3 | +-------------------------+
例2 -末尾有空格
注意,CHARACTER_LENGTH()在其計算中包含末尾空格(例如字符串末尾的空格)。
所以如果我們在前一個例子的末尾加上空格:
SELECT CHARACTER_LENGTH('Cat ');
結果:
+--------------------------+ | CHARACTER_LENGTH('Cat ') | +--------------------------+ | 4 | +--------------------------+
但是我們可以使用TRIM()函數或RTRIM()函數來刪除后面的空格:
SELECT CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM', CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
結果:
+------+-------+ | TRIM | RTRIM | +------+-------+ | 3 | 3 | +------+-------+
例3 -前面有空格
同樣的概念也適用于前面空格。你可以使用TRIM或LTRIM:
SELECT CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM', CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
結果:
+------+-------+ | TRIM | LTRIM | +------+-------+ | 3 | 3 | +------+-------+
例4 -數據類型
無論字符串存儲為什么數據類型,它都將返回相同的結果。這與LENGTH()函數形成對比,如果數據是以Unicode字符串存儲的,那么LENGTH()函數將返回雙倍的字符數。
在下面的例子中,ArtistName列使用varchar(255):
SELECT CHARACTER_LENGTH(ArtistName) Result FROM Artists WHERE ArtistName = 'Lit';
結果:
+--------+ | Result | +--------+ | 3 | +--------+
如果我們修改ArtistName列來使用Unicode:
ALTER TABLE Artists MODIFY COLUMN ArtistName VARCHAR(255) unicode;
并再次運行相同的查詢:
SELECT CHARACTER_LENGTH(ArtistName) FROM Artists WHERE ArtistName = 'Lit';
我們仍然得到相同的結果:
+--------+ | Result | +--------+ | 3 | +--------+
但是,如果使用LENGTH()函數,結果將是6。這是因為Unicode字符串每個字符存儲2個字節,LENGTH()函數返回以字節為單位測量的長度。
相關
以上就是MySQL中CHARACTER_LENGTH()函數的用法詳解的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。