SQL Server,字符串是多行中的子字符串

问题描述

在SQL Server中,我的表结构是这样的:

OrderID CustomerID SerialNo
58258 877 OW13355-OW13356-OW13357-OW13358
58364 6 OW13269-OW13270-OW13271-OW13272
58816 20315 OW13940-OW13941-OW13942
59063 93085 OW13676-OW13677-OW13678-OW13679
59114 16713 OW12504-OW12505-OW12506
59519 470 OW14361-OW14362-OW14363
59769 34820 OW13928-OW13929-OW13930
60318 22424 OW14081-OW14082-OW14083-OW14084-OW14085-OW14086
60318 22424 OW14087-OW14088-OW14089
30858 16962 EF 22567 9
8097 6 OW76879

serialNo列中,有时会连续输入多个序列号。我想提取每个由 - 符号连接的序列号并创建一个新行。每行应该只有 1 个序列号。例如,我想在一个选择中显示 orderid = 58258 的 4 条记录。

这能做到吗?

结果应该是

OrderID CustomerID SerialNo
58258 877 OW13355
58258 877 OW13356
58258 877 OW13357
58258 877 OW13358

这个给定的表结构应该为 11 条记录显示 35 条记录。你能帮我查询吗?

我正在使用 CHARINDEX 来查找 '-' 字符,但是如何查找多次出现的 '-' 然后选择为多行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)