我有一个具有以下结构解析逗号分隔列到视图
> idx noc
idx
是一个独特的报告ID的表,但noc
有一个逗号分隔值的列表。
我需要它分成一个观点,但我似乎无法弄清楚如何选择我需要 我创建了一个功能拆分,即解析出逗号分隔值
ALTER FUNCTION [dbo].[udf_Split]
(
@psCSString VARCHAR(8000)
)
RETURNS @otTemp TABLE(sID VARCHAR(20))
AS
BEGIN
DECLARE @sTemp VARCHAR(10)
WHILE LEN(@psCSString) > 0
BEGIN
SET @sTemp = LEFT(@psCSString, ISNULL(NULLIF(CHARINDEX(',', @psCSString) - 1, -1),
LEN(@psCSString)))
SET @psCSString = SUBSTRING(@psCSString,ISNULL(NULLIF(CHARINDEX(',', @psCSString), 0),
LEN(@psCSString)) + 1, LEN(@psCSString))
INSERT INTO @otTemp VALUES (@sTemp)
END
RETURN
END
但我不明白如何获取数值。
数据库值的一个例子是:
idx 1
noc a,b,c
idx 2
noc a,x
我希望能够看到这一点:
1 a
1 b
1 c
2 a
2 x
我需要循环?请帮助我指出正确的方向。
所以,你想使用你的功能,当你查询你的表? – dario 2014-12-03 21:49:59
是的,我想我需要,除非有另一种方式来打破结果集 – 2014-12-03 21:50:26