||(串联)运算符 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

||(串联)运算符

联接位于 || 符号两侧的两个表达式并返回联接后的表达式。

CONCAT 函数相似。

注意

如果一个表达式为 Null,或两个表达式都为 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 | +-------------------------------------+