请教一个拆分字符串的问题
create FUNCTION [dbo].[FN_SplitData](
@delimited NVARCHAR(MAX),
@delimiter NVARCHAR(100)
) RETURNS @t TABLE (id INT IDENTITY(1,1), val NVARCHAR(MAX))
AS
BEGIN
DECLARE @xml XML
SET @xml = N'<t>' + REPLACE(@delimited,@delimiter,'</t><t>') + '</t>'
INSERT INTO @t(val)
SELECT r.value('.','varchar(MAX)') as item
FROM @xml.nodes('/t') as records(r)
RETURN
END
declare @Questions varchar(MAX)='1-32|26,42-41|32'
;WITH CTE1 AS(
SELECT id, LEFT(val, CHARINDEX('-', val)-1) AS QuestionId, SUBSTRING(val, CHARINDEX('-', val)+1, 100) AS [IndexNumber]
, SUBSTRING(val, CHARINDEX('|', val)+1, 100) AS Numbers
FROM [dbo].[FN_SplitData](@Questions,',')
)
select QuestionId,[IndexNumber],Numbers from CTE1
--得到的是下面的结果,但是不是我想要的
/*
QuestionId IndexNumber Numbers
1 32|26 26
42 41|32 32
*/
--下面的才是我想要的
/*
QuestionId IndexNumber Numbers
1 32 26
42 41 32
*/
--求帮忙修改一下代码
...全文
相关推荐
sqlserver2008 拆分字符串
–说明:例如,将下列数据 id id_value —————– 1 ‘aa,bb’ 2 ‘aa,bb,cc’ 3 ‘aaa,bbb,ccc’ –转换成以下的格式 id id_value —————– 1 ‘aa’ 1 ‘bb’ 2 ‘aa’ 2 ‘bb’ 2 ‘cc’ 3 ‘aaa’ 3 ‘bbb’ 3 ‘ccc’ –代码——————————————-GO 代码如下:create table ta ( id int, id_value varchar(30) ) insert into ta select 1,’aa,bb’ union all select 2,’aa,bb,cc’ uni
java 中用split分割字符串,最后的空格等不被拆分的方法
下面小编就为大家带来一篇java 中用split分割字符串,最后的空格等不被拆分的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
labview字符串拆分到数组 支持中文
labview字符串拆分到数组 支持中文
python如何拆分含有多种分隔符的字符串
主要为大家详细介绍了python如何拆分含有多种分隔符的字符串,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
sql2000字符串分割,字符串拆分
aaa,bbb,ccc 拆分为 vs --- aaa bbb ccc


应用实例
