

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# \|\|（串联）运算符
<a name="concat_op"></a>

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

串联运算符类似于 [CONCAT 函数](CONCAT.md)。

**注意**  
对于 CONCAT 函数和联接运算符，如果一个或多个表达式为 null，则联接的结果也为 null。

## 语法
<a name="concat_op-synopsis"></a>

```
expression1 || expression2
```

## 参数
<a name="concat_op-arguments"></a>

 *expression1*、*expression2*   
两个参数都可以是长度固定或长度可变的字符串或表达式。

## 返回类型
<a name="concat_op-return-type"></a>

 \|\| 运算符返回字符串。字符串的类型与输入参数的类型相同。

## 示例
<a name="concat_op-example"></a>

以下示例将 USERS 表中的 FIRSTNAME 和 LASTNAME 字段联接：

```
select firstname || ' ' || lastname
from users
order by 1
limit 10;

concat
-----------------
Aaron Banks
Aaron Booth
Aaron Browning
Aaron Burnett
Aaron Casey
Aaron Cash
Aaron Castro
Aaron Dickerson
Aaron Dixon
Aaron Dotson
(10 rows)
```

 要联接可能包含 null 值的列，请使用 [NVL 和 COALESCE 函数](NVL_function.md) 表达式。以下示例使用 NVL 在遇到 NULL 时返回 0。

```
select venuename || ' seats ' || nvl(venueseats, 0) 
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
```