联接位于 ||
符号的任意一侧的两个表达式并返回联接后的表达式。
与 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 |
+-------------------------------------+