连接字符串和数组
连接字符串和连接数组使用的是类似的技术。
连接字符串
要连接两个字符串,可以使用双管道 ||
运算符,如以下示例中所示。
SELECT 'This' || ' is' || ' a' || ' test.' AS Concatenated_String
此查询返回:
# | Concatenated_String |
---|---|
1 |
|
您可以使用 concat()
函数来获得相同的结果。
SELECT concat('This', ' is', ' a', ' test.') AS Concatenated_String
此查询返回:
# | Concatenated_String |
---|---|
1 |
|
您可以使用 concat_ws()
函数将字符串与第一个参数中的指定分隔符连接起来。
SELECT concat_ws(' ', 'This', 'is', 'a', 'test.') as Concatenated_String
此查询返回:
# | Concatenated_String |
---|---|
1 |
|
要使用点来连接字符串数据类型的两列,请使用双引号引用这两列,并将点括在单引号中作为硬编码字符串。如果某列不是字符串数据类型,则可以先使用 CAST("
转换该列。column_name
" as VARCHAR)
SELECT "col1" || '.' || "col2" as Concatenated_String FROM
my_table
此查询返回:
# | Concatenated_String |
---|---|
1 |
|
连接数组
您可以使用相同的技术来连接数组。
要连接多个数组,请使用双管道 ||
运算符。
SELECT ARRAY [4,5] || ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items
此查询返回:
# | 项目 |
---|---|
1 |
|
要将多个数组组合成一个数组,请使用双管道运算符或 concat()
函数。
WITH dataset AS ( SELECT ARRAY ['Hello', 'Amazon', 'Athena'] AS words, ARRAY ['Hi', 'Alexa'] AS alexa ) SELECT concat(words, alexa) AS welcome_msg FROM dataset
此查询返回:
# | welcome_msg |
---|---|
1 |
|
有关 concat()
或其他字符串函数的更多信息,请参阅 Trino 文档中的 字符串函数和运算符