MySQL 的 LENGTH() 函式的同義函式是什麼?


眾所周知,MySQL OCTET_LENGTH() 函式也以“位元組”為單位測量字串長度,因此它是 MySQL LENGTH() 函式的同義詞。此函式的語法為 OCTET_LENGTH(Str),其中 Str 是必須返回其長度(以字元為單位)的字串。

它也不是多位元組安全的,例如 LENGTH() 函式。例如,如果一個字串包含四個 2 位元組字元,那麼 OCTET_LENGTH() 函式將返回 8。如下例所示:

示例

mysql> Select OCTET_LENGTH('tutorialspoint');
+--------------------------------+
| OCTET_LENGTH('tutorialspoint') |
+--------------------------------+
|                             14 |
+--------------------------------+
1 row in set (0.00 sec)

以上結果集表明字串“tutorialspoint”的長度為 14,因為它還沒有轉換成 Unicode 字元。以下查詢將其轉換為 Unicode 字元:

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

將字串轉換為 Unicode 後,返回 28 的結果,而不是 14,因為在 Unicode 中,單個字元佔用 2 個位元組,如下所示:

mysql> Select OCTET_LENGTH(@A);
+------------------+
| OCTET_LENGTH(@A) |
+------------------+
|               28 |
+------------------+
1 row in set (0.00 sec)

更新日期:20-6 月 -2020

92 次瀏覽

開啟你的職業生涯

透過完成課程獲取證書

開始吧
廣告
© . All rights reserved.