本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OCTET_LENGTH 函數
傳回指定字串的長度 (以位元組為單位)。
語法
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 | +--------------+