

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 串連字串和陣列
<a name="concatenating-strings-and-arrays"></a>

串連字串和串連陣列會使用類似的技術。

## 串連字串
<a name="concatenating-strings"></a>

若要串連兩個字串，您可以使用雙縱線 `||` 運算子，如下列範例所示。

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

此查詢會傳回：


****  

| \$1 | Concatenated\$1String | 
| --- | --- | 
| 1 |  `This is a test.`  | 

您可以使用 `concat()` 函數達到相同的效果。

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

此查詢會傳回：


****  

| \$1 | Concatenated\$1String | 
| --- | --- | 
| 1 |  `This is a test.`  | 

您可以使用 `concat_ws()` 函式將字串與第一個引數中指定的分隔符號串連。

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

此查詢會傳回：


****  

| \$1 | Concatenated\$1String | 
| --- | --- | 
| 1 |  `This is a test.`  | 

若要使用點串連字串資料類型的兩個資料欄，請使用雙引號引用這兩個資料欄，並以單引號括住該點做為硬式編碼字串。如果資料欄不是字串資料類型，您可以先使用 `CAST("column_name" as VARCHAR)` 轉換資料欄類型。

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

此查詢會傳回：


****  

| \$1 | Concatenated\$1String | 
| --- | --- | 
| 1 |  `col1_string_value.col2_string_value`  | 

## 串連陣列
<a name="concatenating-arrays"></a>

您可以使用相同的技巧串連陣列。

若要串連多個陣列，請使用雙縱線 `||` 運算子。

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

此查詢會傳回：


****  

| \$1 | 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
```

此查詢會傳回：


****  

| \$1 | welcome\$1msg | 
| --- | --- | 
| 1 |  `[Hello, Amazon, Athena, Hi, Alexa]`  | 

如需有關 `concat()` 其他字串函數的詳細資訊，請參閱 Trino 文件中的 [String functions and operators](https://trino.io/docs/current/functions/string.html) (字串函數和運算子)。