Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

CONCAT(Oracle 兼容性函数)

CONCAT 函数将联接两个字符串并返回生成的字符串。要联接两个以上的字符串,请使用嵌套 CONCAT 函数。在两个字符串之间使用联接运算符 (||) 将生成与 CONCAT 函数相同的结果。

注意

对于 CONCAT 函数和联接运算符,如果一个或多个字符串为 null,则联接的结果也为 null。

语法

Copy
CONCAT ( string1, string2 )

参数

string1string2

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

返回类型

CONCAT 返回字符串。字符串的数据类型与输入参数的数据类型相同。

示例

以下示例联接两个字符文本:

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

以下查询(使用 || 运算符而不是 CONCAT)将生成相同的结果:

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

以下示例使用两个 CONCAT 函数联接三个字符串:

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

要联接可能包含 null 值的列,请使用 NVL 表达式。以下示例使用 NVL 在遇到 NULL 时返回 0。

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

本页内容: