sql 中將多行值轉換為一行的函數為 array_to_string(),它將一個數組轉換為一個以逗號分隔的字符串。通過與 group_concat() 等聚合函數結合使用,可以將來自多行的數據分組并轉換為一行。
SQL 中將多行值轉換為一行的函數
問題:如何在 SQL 中將多行值轉換為一行?
答案:可以使用 SQL 函數 ARRAY_TO_STRING() 將多行值轉換為一行字符串。
詳細解答:
ARRAY_TO_STRING() 函數將一個數組轉換為一個以逗號分隔的字符串。該函數可以與其他聚合函數(例如 GROUP_CONCAT())結合使用,以將來自多行的數據分組并轉換為一行。
語法:
<code>ARRAY_TO_STRING(array_column, separator)</code>
登錄后復制
其中:
array_column:要轉換為字符串的數組列。
separator:可選項,用于分隔字符串元素的字符(默認為逗號)。
示例:
假設我們有一個名為 “students” 的表,包含以下列:
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Carol |
可以使用以下查詢將學生姓名轉換為一個以逗號分隔的字符串:
<code>SELECT ARRAY_TO_STRING(name, ', ') AS student_names FROM students;</code>
登錄后復制
輸出:
| student_names |
|---|
| Alice, Bob, Carol |
同樣,以下查詢將學生姓名以分號分隔:
<code>SELECT ARRAY_TO_STRING(name, '; ') AS student_names FROM students;</code>
登錄后復制
輸出:
| student_names |
|---|
| Alice; Bob; Carol |






