首页 > 数据库 > mysql教程 > 如何在 SQL Server 中将逗号分隔值拆分为多行?

如何在 SQL Server 中将逗号分隔值拆分为多行?

Mary-Kate Olsen
发布: 2025-01-06 00:19:40
原创
982 人浏览过

How to Split Comma-Separated Values into Multiple Rows in SQL Server?

将逗号分隔的值拆分为表行

以逗号分隔的多个值存储的数据在以结构化格式检索时可能会带来挑战。本文旨在通过提供一种解决方案来解决此问题,将 SQL Server 列中的逗号分隔值转换为单独的行。

在提供的示例中,示例表包含一个名为 String 的列,其中包含诸如“abc”之类的数据,def,ghi”和“jkl,mno,pqr”。目标是将此数据转换为包含多行的表,其中每行包含 String 列中的单个值。

以下 SQL Server 查询可以实现此转换:

SELECT A.[id], Split.a.value('.', 'VARCHAR(100)') AS processedrows
FROM (SELECT [id], CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML) AS String FROM Sample) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
登录后复制

此查询采用一些高级技术将逗号分隔的值转换为 XML,然后将每个值提取为单独的行。有关此方法的更多详细信息,请参阅 http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html。

以上是如何在 SQL Server 中将逗号分隔值拆分为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板