

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CONCAT 関数
<a name="CONCAT"></a>

CONCAT 関数は、2 つの式を連結し、結果の表現を返します。3 つ以上の式を連結するには、CONCAT 関数をネストして使用します。2 つの式の間に連結演算子 (`||`) を指定した場合も、CONCAT 関数と同じ結果が返されます。

**注記**  
CONCAT 関数ならびに連結演算子のどちらにおいても、一方または両方の表現が null である場合は、連結の結果も null になります。

## 構文
<a name="CONCAT-synopsis"></a>

```
CONCAT ( expression1, expression2 )
```

## 引数
<a name="CONCAT-arguments"></a>

 *expression1*, *expression2*   
どちらの引数にも、固定長文字列、可変長文字列、バイナリ式、またはこれらの入力のいずれかとして評価される式を指定できます。

## 戻り型
<a name="CONCAT-return-type"></a>

 CONCAT は式を返します。式のデータ型は、入力引数の型と同じです。

入力式が異なる型である場合、 は暗黙的に型をキャスト AWS Clean Rooms しようとします。値を型キャストできない場合は、エラーが返されます。

## 例
<a name="CONCAT-examples"></a>

次の例では、2 つの文字リテラルを連結します。

```
select concat('December 25, ', '2008');

concat
-------------------
December 25, 2008
(1 row)
```

次のクエリでは、CONCAT ではなく `||` 演算子を使用しており、同じ結果が返されます。

```
select 'December 25, '||'2008';

concat
-------------------
December 25, 2008
(1 row)
```

次の例では、2 つの CONCAT 関数を使用して、3 つの文字列を連結します。

```
select concat('Thursday, ', concat('December 25, ', '2008'));

concat
-----------------------------
Thursday, December 25, 2008
(1 row)
```

Null を含む可能性がある列を連結するには、[NVL および COALESCE 関数](NVL_function.md)を使用します。次の例は、NVL を使用して、NULL が発生するたびに 0 を返します。

```
select concat(venuename, concat(' seats ', nvl(venueseats, 0))) as seating
from venue where venuestate = 'NV' or venuestate = 'NC'
order by 1
limit 5;

seating                            
-----------------------------------
Ballys Hotel seats 0               
Bank of America Stadium seats 73298
Bellagio Hotel seats 0             
Caesars Palace seats 0             
Harrahs Hotel seats 0              
(5 rows)
```

次のクエリでは、VENUE テーブル内の CITY 値と STATE 値を連結します。

```
select concat(venuecity, venuestate)
from venue
where venueseats > 75000
order by venueseats;

concat
-------------------
DenverCO
Kansas CityMO
East RutherfordNJ
LandoverMD
(4 rows)
```

次のクエリでは、ネストされた CONCAT 関数を使用しています。このクエリは、VENUE テーブル内の CITY 値と STATE 値を連結しますが、結果の文字列をカンマおよびスペースで区切ります。

```
select concat(concat(venuecity,', '),venuestate)
from venue
where venueseats > 75000
order by venueseats;

concat
---------------------
Denver, CO
Kansas City, MO
East Rutherford, NJ
Landover, MD
(4 rows)
```