gpt4 book ai didi

sql-server - 将一列拆分为多行

转载 作者:行者123 更新时间:2023-12-02 11:03:22 28 4
gpt4 key购买 nike

谁能告诉我如何实现这个目标?在某些情况下,我的表中的列包含逗号分隔的值。如果是这样,我需要为这些值创建新行。

此外,作为示例,一个表包含 1 行 4 列 Col1 |第 2 栏 |第 3 栏 | Col4 具有以下值 A |乙| C |分别为1、2、3。因此,Col4 包含字符串 '1,2,3',我需要分解逗号分隔的值并将它们放在自己的行上,这样表将包含 1 行,其中 1 2 和 3 位于自己的行上在第 4 栏。

最佳答案

我认为你可以这样做:

SELECT
T.id, RIGHT(LEFT(T.csv,Number-1),
CHARINDEX(',',REVERSE(LEFT(','+T.csv,Number-1))))
FROM
master..spt_values,
your_table T
WHERE
Type = 'P' AND Number BETWEEN 1 AND LEN(T.csv)+1
AND
(SUBSTRING(T.csv,Number,1) = ',' OR SUBSTRING(T.csv,Number,1) = '')

代码被无耻地从this site窃取.

关于sql-server - 将一列拆分为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250475/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com