【发布时间】:2020-09-29 22:35:18
【问题描述】:
如果我发出
SELECT ID FROM TestAhmet
我得到这个结果:
1,2,3,4,5
但我真正需要的是所有值用逗号分隔的多列,如下所示:
1
3
5
2
4
我该怎么做?
【问题讨论】:
-
如果可能的话,我建议首先将表格更改为不存储逗号分隔值。而是将这些值放在与 TestAhmet 表具有多对一关系的单独表中。
-
你想在服务器端还是客户端实现?
-
你好大师,服务器端。
-
@Subash 首先不存储此类值。这是一个错误。在主流支持的所有 SQL Server 版本(2016+)中,您可以使用
STRING_SPLIT。您还会发现很多类似的 SO 问题。 XML Path 技术可能是最快的 -
任何版本的最佳选择是拆分服务器上的数据并将其存储在单独的表中,存储在多行上,就像任何其他数据一样。另一种选择是将数据存储为 XML 并使用 XML 方法进行查询。
标签: sql-server string csv join sql-server-2012