Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
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 | +--------------+