||(串联)运算符
联接位于 ||
符号两侧的两个表达式并返回联接后的表达式。
与 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 | +-------------------------------------+