如何解决在SQL Server 2012中将值与字符串分开
这是我的字符串/列值:
ReferenceId=678&MobileNo=226789&Pnumber=9878&SIB=121314&.........&PIN=34&....
有很多字段。我对上述领域感兴趣。
如何在SQL Server 2012中分离/获取它们的值? string_split()
功能在2012年不受支持。
解决方法
在此处link创建@Dave建议的UFN_STRING_SPLIT
函数
create FUNCTION [dbo].[UFN_STRING_SPLIT]
(
@List NVARCHAR(MAX),@Delimiter NVARCHAR(255)
)
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN
(
SELECT Item = y.i.value('(./text())[1]','nvarchar(max)')
FROM
(
SELECT x = CONVERT(XML,'<i>'
+ REPLACE(@List,@Delimiter,'</i><i>')
+ '</i>').query('.')
) AS a
CROSS APPLY x.nodes('i') AS y(i)
);
测试您的代码:
select
Left(Item,charindex('=',Item,0) - 1) as FielName,right(Item,len(Item) - charindex('=',0)) as [Value]
from
dbo.UFN_STRING_SPLIT('ReferenceId=678&MobileNo=226789&Pnumber=9878&SIB=121314','&')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。