sql server如何对字符串数据进行一列转为多行
时间: 2023-12-26 18:03:58 浏览: 91
对于 SQL Server 中的字符串数据进行一列转为多行,可以使用 STRING_SPLIT() 函数和 CROSS APPLY 操作符来实现。
例如,假设你有以下表格:
| ID | Names |
|----|--------------------|
| 1 | John, Mary, Tom |
| 2 | Alice, Bob, Carol |
你可以使用以下 SQL 语句将 Names 列转换成多行:
```
SELECT ID, Name
FROM my_table
CROSS APPLY STRING_SPLIT(Names, ',')
```
执行上述 SQL 语句后,你将得到以下结果:
| ID | Name |
|----|-------|
| 1 | John |
| 1 | Mary |
| 1 | Tom |
| 2 | Alice |
| 2 | Bob |
| 2 | Carol |
在上述 SQL 语句中,CROSS APPLY 操作符用于将每个 Names 列中的字符串拆分为多个行。STRING_SPLIT() 函数用于将字符串拆分为多个值,该函数需要两个参数:要拆分的字符串和分隔符。在上述例子中,分隔符为逗号(,)。
阅读全文