|| (串連) 運算子 - Amazon Redshift

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

|| (串連) 運算子

串連 || 符號兩側的兩個運算式,並傳回串連後的運算式。

類似於 CONCAT 函數

注意

如果其中一個或兩個運算式都為 null,則串連的結果為 NULL

語法

expression1 || expression2

引數

expression1

CHAR 字串、VARCHAR 字串、二進位運算式或計算結果為其中一種類型的運算式。

expression2

CHAR 字串、VARCHAR 字串、二進位運算式或計算結果為其中一種類型的運算式。

傳回類型

字串的傳回類型與輸入引數的類型相同。例如,串連兩個 VARCHAR 類型的字串會傳回一個 VARCHAR 類型的字串。

範例

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

若要串連 USERS 資料表中的 FIRSTNAME 和 LASTNAME 欄位,請使用下列範例。

SELECT (firstname || ' ' || lastname) as fullname FROM users ORDER BY 1 LIMIT 10; +-----------------+ | fullname | +-----------------+ | Aaron Banks | | Aaron Booth | | Aaron Browning | | Aaron Burnett | | Aaron Casey | | Aaron Cash | | Aaron Castro | | Aaron Dickerson | | Aaron Dixon | | Aaron Dotson | +-----------------+

若要串連可能包含 Null 的欄,請使用 NVL 和 COALESCE 函數表達式。下列範例使用 NVL,只要遇到 NULL 就傳回 0

SELECT (venuename || ' seats ' || NVL(venueseats, 0)) as seating FROM venue WHERE venuestate = 'NV' or venuestate = 'NC' ORDER BY 1 LIMIT 10; +-------------------------------------+ | seating | +-------------------------------------+ | Ballys Hotel seats 0 | | Bank of America Stadium seats 73298 | | Bellagio Hotel seats 0 | | Caesars Palace seats 0 | | Harrahs Hotel seats 0 | | Hilton Hotel seats 0 | | Luxor Hotel seats 0 | | Mandalay Bay Hotel seats 0 | | Mirage Hotel seats 0 | | New York New York seats 0 | +-------------------------------------+