メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

CONCAT (Oracle 互換関数)

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

注記

CONCAT 関数と連結演算子のどちらにおいても、一方または両方の文字列が null である場合は、連結の結果が null になります。

構文

Copy to clipboard
CONCAT ( string1, string2 )

引数

string1, string2

両方の引数を、固定長または可変長の文字列または式にすることができます。

戻り型

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

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

Copy to clipboard
select concat('December 25, ', '2008'); concat ------------------- December 25, 2008 (1 row)

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

Copy to clipboard
select 'December 25, '||'2008'; ?column? ------------------- December 25, 2008 (1 row)

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

Copy to clipboard
select concat('Thursday, ', concat('December 25, ', '2008')); concat ----------------------------- Thursday, December 25, 2008 (1 row)
Null を含む可能性がある列を連結するには、NVL 式 を使用します。次の例は、NVL を使用して、NULL が発生するたびに 0 を返します。
Copy to clipboard
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 値を連結します。

Copy to clipboard
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 値を連結しますが、結果の文字列をカンマおよびスペースで区切ります。

Copy to clipboard
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)

このページの内容: