哪個函式是 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)

更新日期:2020-06-20

91 訪問量

開啟你的 職業生涯

完成課程即可獲得認證

開始上手
廣告
© . All rights reserved.