【发布时间】:2016-11-20 08:02:15
【问题描述】:
创建一个 SQL 存储过程,将字符串解析为以前未知数量的字段。输入将是
- 未确定长度的文本字符串;
- 分隔符,作为字符串传递;
- 一个可以为空的列,如果相关,它会将文本指示符作为单个字符串传递。
结果表将完全取决于用作输入的字符串
请帮忙,因为我无法弄清楚。我知道这是错误的,但我不知道从哪里开始。
这是我迄今为止尝试过的:
DECLARE @l INT, @c VARCHAR(MAX) = ''
SELECT @l = MAX(LEN(n)) FROM AdventureWOrk
DECLARE @s NVARCHAR(MAX) = '
;WITH cte AS
)
Insert INTO @Values (1, 'CGID', 'EENumber', 'EEYID', 'SSN' )
SELECT
[Value],
[Value],
Prod_Attributes.value('/Attribute[1]','varchar(MAX)') AS [CGID],
Prod_Attributes.value('/Attribute[2]','varchar(MAX)') AS [EENUMBER],
Prod_Attributes.value('/Attribute[3]','varchar(MAX') AS [EYEID],
Prod_Attributes.value('/Attribute[4]','varchar(MAX') AS [SSN]
【问题讨论】:
-
请在发布前使用MSDN - Stored Procedures 满足语法要求。 MSDN 不仅胜过任何其他文档,而且您会知道术语是什么。
标签: sql sql-server tsql