MySQL中CHARACTER_LENGTH()函數的用法詳解

藏色散人
發布: 2019-04-25 17:06:09
原創
8047 人瀏覽過

在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教學

###

以上是MySQL中CHARACTER_LENGTH()函數的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板