如何解决将包含逗号和其他定界符的列拆分为不同的行以创建插入
所以我有一个SQL Server表,其中的行之一包含用逗号分隔的值,在某些情况下,它们的确也包含管道,请参见下面的示例:
我希望通过创建一个将获取每个值,删除逗号并将其转换为单独行的脚本来规范第二列的数据。此外,脚本会将这些行插入到新表中。
到目前为止,我的脚本如下:
SELECT ecotox_group,LEFT(ecotox_group,CHARINDEX(',',ecotox_group)) AS Comma_Location,RIGHT(ecotox_group,LEN(ecotox_group)-CHARINDEX(',ecotox_group)) AS Comma_After
FROM dbo.[species]
order by species_number desc
我将图像附加到结果的填充方式上(请忽略列别名),其中一个采用逗号“ Comma_Location”列之前的值,而另一个采用逗号“ Comma_After”之后的值。
我的问题是,“ Comma_After”列仍包含用逗号分隔的其他值,因此仍将它们添加到一行中,这不是我想要的。另外,此列上没有逗号的值将填充为空格,并且脚本应该不考虑那些没有此问题的行。
关于如何在SQL SERVER中执行此脚本的任何建议?
***请注意,我无法使用STRING SPLIT,我知道这是建议的方法,但这不适用于我的情况,因为我无法对数据库进行更新以使用此功能
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。