如何乘以SQL行

问题描述 投票:0回答:1

我有这个表格。

表A

ID       Value  
1        "10,20"  
2        "101,102,103"  
3        "50,60"  
4        "100,200,300"  
5        "81,82,83,84"  

我想要这个。

TableB

ID       Value  
1        10  
1        20  
2        101  
2        102  
2        103  
3        50  
3        60  
4        100  
4        200  
4        300  
5        81  
5        82  
5        83  
5        84  

我使用的是SQL Server V18,所以我可以访问内置的 STRING_SPLIT() 功能,如果需要的话。

sql sql-server
1个回答
2
投票

我是不是漏了什么? 你好像知道要用 string_split() 而且据我所知,没有任何其他的复杂情况。

select t.id, s.value
from t cross apply
     string_split(value, ',') s;

你可以使用 insert 或者 into 来将数据放在另一个表中。

如果双引号实际上是值的一部分,你可以去掉它们。

string_split(replace(value, '"', ''), ',')
© www.soinside.com 2019 - 2024. All rights reserved.