LEN 函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

LEN 函數

以字元數傳回指定字串的長度。

語法

LEN 是 LENGTH 函數CHAR_LENGTH 函數CHARACTER_LENGTH 函數和 的同義詞TEXTLEN 函數

LEN(expression)

引數

運算式

CHAR 字串、VARCHAR 字串、VARBYTE 運算式或隱含評估為 CHARVARCHARVARBYTE 類型的運算式。

傳回類型

INTEGER

LEN 函數會傳回整數,指出輸入字串中的字元數。

如果輸入字串是字元字串,LEN函數會傳回多位元組字串中的實際字元數,而不是位元組數。例如,需要 VARCHAR(12) 欄來儲存三個四位元組中文字元。該LEN函數會3傳回相同的字串。若要取得字串的長度 (以位元組為單位),請使用 OCTET_LENGTH 函數。

使用須知

如果 expressionCHAR 字串,不計算結尾空格。

如果 expressionVARCHAR 字串,則計算結尾空格。

範例

若要傳回字串 français 中的位元組數和字元數,請使用下列範例。

SELECT OCTET_LENGTH('français'), LEN('français'); +--------------+-----+ | octet_length | len | +--------------+-----+ | 9 | 8 | +--------------+-----+

若要傳回字串中的位元組數和字元數,français而不使用 OCTET_LENGTH 函數,請使用下列範例。如需詳細資訊,請參閱 CAST 函數

SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français'); +-------+-----+ | bytes | len | +-------+-----+ | 9 | 8 | +-------+-----+

若要傳回沒有結尾空格的字串 cat 中的字元數、具有三個結尾空格的 cat 中的字元數、將具有三個結尾空格的 cat 轉換為長度為 6 的 CHAR,以及將具有三個結尾空格的 cat 轉換為長度為 6 的 VARCHAR,請使用以下範例。請注意,該函數不會計算 CHAR 字串的結尾空格,但會計算 VARCHAR 字串的結尾空格。

SELECT LEN('cat'), LEN('cat '), LEN(CAST('cat ' AS CHAR(6))) AS len_char, LEN(CAST('cat ' AS VARCHAR(6))) AS len_varchar; +-----+-----+----------+-------------+ | len | len | len_char | len_varchar | +-----+-----+----------+-------------+ | 3 | 6 | 3 | 6 | +-----+-----+----------+-------------+

下列範例使用TICKIT範例資料庫中VENUE資料表的資料。如需詳細資訊,請參閱範本資料庫

若要傳回VENUE資料表中 10 個最長的場地名稱,請使用下列範例。

SELECT venuename, LEN(venuename) FROM venue ORDER BY 2 DESC, 1 LIMIT 10; +-----------------------------------------+-----+ | venuename | len | +-----------------------------------------+-----+ | Saratoga Springs Performing Arts Center | 39 | | Lincoln Center for the Performing Arts | 38 | | Nassau Veterans Memorial Coliseum | 33 | | Jacksonville Municipal Stadium | 30 | | Rangers BallPark in Arlington | 29 | | University of Phoenix Stadium | 29 | | Circle in the Square Theatre | 28 | | Hubert H. Humphrey Metrodome | 28 | | Oriole Park at Camden Yards | 27 | | Dick's Sporting Goods Park | 26 | +-----------------------------------------+-----+