本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
傳回指定字串的長度 (以位元組為單位)。
語法
OCTET_LENGTH(expression)
引數
- 運算式
-
CHAR
字串、VARCHAR
字串、VARBYTE
運算式或隱含評估為CHAR
、VARCHAR
或VARBYTE
類型的運算式。
傳回類型
- INTEGER
-
OCTET_LENGTH 函數傳回整數,表示輸入字串中的位元組數。
如果輸入字串是字元字串,則 LEN 函數會傳回多位元組字串中的實際字元數,而不是位元組數。例如,需要
VARCHAR(12)
欄來儲存三個四位元組中文字元。OCTET_LENGTH 函數將針對該字串傳回12
,而 LEN 函數會針對相同的字串傳回3
。
使用須知
如果 expression 是 CHAR
字串,該函數傳回 CHAR
字串的長度。例如,CHAR(6)
輸入的輸出是 CHAR(6)
。
如果 expression 是 VARCHAR
字串,則計算結尾空格。
範例
若要在具有三個結尾空格的字串 francais
轉換為 CHAR
和 VARCHAR
類型時傳回位元組數,請使用下列範例。如需更多資訊,請參閱CAST 函數。
SELECT OCTET_LENGTH(CAST('francais ' AS CHAR(15))) AS octet_length_char, OCTET_LENGTH(CAST('francais ' AS VARCHAR(15))) AS octet_length_varchar;
+-------------------+----------------------+
| octet_length_char | octet_length_varchar |
+-------------------+----------------------+
| 15 | 11 |
+-------------------+----------------------+
若要傳回字串 français
中的位元組數和字元數,請使用下列範例。
SELECT OCTET_LENGTH('français'), LEN('français');
+--------------+-----+
| octet_length | len |
+--------------+-----+
| 9 | 8 |
+--------------+-----+
若要在字串 français
轉換為 VARBYTE
時傳回位元組數,請使用下列範例。
SELECT OCTET_LENGTH(CAST('français' AS VARBYTE));
+--------------+
| octet_length |
+--------------+
| 9 |
+--------------+