文字列と配列の連結 - Amazon Athena

文字列と配列の連結

文字列の連結

2 つの文字列を連結するには、以下の例にあるように、二重パイプ || 演算子を使用することができます。

SELECT 'This' || ' is' || ' a' || ' test.' AS Concatenated_String

このクエリは以下を返します。

# Concatenated_String
1

This is a test.

concat() 関数を使って同じ結果を得ることが可能です。

SELECT concat('This', ' is', ' a', ' test.') AS Concatenated_String

このクエリは以下を返します。

# Concatenated_String
1

This is a test.

concat_ws() 関数を使用して、最初の引数で指定された区切り文字で文字列を連結できます。

SELECT concat_ws(' ', 'This', 'is', 'a', 'test.') as Concatenated_String

このクエリは以下を返します。

# Concatenated_String
1

This is a test.

文字列データ型の 2 つの列をドットで連結するには、二重引用符を使用して 2 つの列を参照し、そのドットをハードコーディングされた文字列として一重引用符で囲みます。列が文字列データ型ではない場合、CAST("column_name" as VARCHAR) を使用して最初に列をキャストできます。

SELECT "col1" || '.' || "col2" as Concatenated_String FROM my_table

このクエリは以下を返します。

# Concatenated_String
1

col1_string_value.col2_string_value

配列の連結

同じテクニックを使用して配列を連結できます。

複数の配列を連結するには、二重パイプ || 演算子を使用します。

SELECT ARRAY [4,5] || ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items

このクエリは以下を返します。

# 項目
1

[[4, 5], [1, 2], [3, 4]]

複数の配列を単一の配列に統合するには、二重パイプ演算子、または 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

[Hello, Amazon, Athena, Hi, Alexa]

concat() とその他の文字列関数の詳細については、Trino ドキュメントの「String Functions and Operators」(文字列関数と演算子) を参照してください。