SQLSERVER切割根据指定字符转多行
时间: 2023-09-13 11:03:13 浏览: 148
要根据指定的字符将一列数据切割并转换为多行,你可以使用 SQL Server 的内置函数和操作符来实现。以下是一个示例:
假设你有一个包含姓名和年龄的表,其中姓名和年龄用"-"分隔在同一列中,如下所示:
```
ID | NameAndAge
---------------
1 | John-25
2 | Jane-30
3 | Mike-35
```
如果你想要将这一列切割为多行,每行包含一个姓名和年龄的组合,你可以使用 SQL Server 的内置函数 `STRING_SPLIT` 和 `CROSS APPLY` 来实现。下面是一个示例查询:
```sql
SELECT ID,
value AS NameAndAge
FROM YourTable
CROSS APPLY STRING_SPLIT(NameAndAge, '-');
```
上述查询中,`STRING_SPLIT` 函数用于将字符串按照指定的分隔符切割成多个值,`CROSS APPLY` 允许将每个切割后的值与原始数据关联起来。
执行以上查询后,你将会得到以下结果:
```
ID | NameAndAge
---------------
1 | John
1 | 25
2 | Jane
2 | 30
3 | Mike
3 | 35
```
通过这种方式,你可以根据指定的字符将一列数据切割并转换为多行。请注意,这只是一个示例,实际情况可能因数据结构和需求而有所不同。
阅读全文