一尘不染

SQL:用查询分割逗号分隔的字符串列表?

sql

这是我的表结构:

id PaymentCond
1  ZBE1, AP1, LST2, CC1
2  VB3, CC1, ZBE1

我需要拆分该列PaymentCond,并希望通过一个简单的sql查询来做到这一点,因为我不知道如何使用函数,并且希望将其保持简单。

这是我已经发现的:

SELECT id, 
Substring(PaymentConditions, 1, Charindex(',', PaymentConditions)-1) as COND_1,
Substring(PaymentConditions, Charindex(',', PaymentConditions)+1, LEN(ANGEBOT.STDTXT)) as  COND_2
from Payment
WHERE id = '1'

但这仅输出

id    COND_1   COND_2
1     ZBE1     AP1, LST2, CC1

有没有一种方法来拆分一切从PaymentConditionsCOND_1COND_2COND_3等?

提前致谢。


阅读 274

收藏
2021-03-08

共1个答案

一尘不染

declare @SchoolYearList nvarchar(max)='2014,2015,2016'
declare @start int=1
declare @length int=4
create table #TempFY(SchoolYear int)
while @start<len(@SchoolYearList)
BEGIN

Insert into #TempFY
select SUBSTRING(@SchoolYearList,@start,@length)
set @start=@start+5
END
Select SchoolYear from #TempFY
2021-03-08