如何在sql server中将字符串拆分为多个 [英] How to split string into multiple in sql server
本文介绍了如何在sql server中将字符串拆分为多个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个如下所示的列数据,
I'm Having a column data like below,
126-35-56-24
我希望结果是这样的,
select 126 as Id, 35 as Age, 56 as EmpId, 24 as Day
我只是尝试使用 substring
并且我可以将字符串拆分为 126 和 35-56-24,但是我无法得到我想要的结果.
I just try using substring
and I can Able to split the string into 126 and 35-56-24, but I can't get the result I Want.
请帮我搞定这个.提前致谢...
Please help me to get this. Thanks in Advance...
推荐答案
使用下面的脚本,它将根据字符索引'-'分割字符串.
Use the below script ,which will split the strings based on the char index of '-'.
DECLARE @data varchar(50)='126-35-56-24'
SELECT 'SELECT '+ SUBSTRING(@data,1,CHARINDEX('-', @data)-1) + ' as Id, '
+SUBSTRING(@data,CHARINDEX('-', @data)+1,CHARINDEX('-', @data,CHARINDEX('-',@data) + 1) -CHARINDEX('-', @data)-1)+ ' as Age, '
+SUBSTRING(@data,CHARINDEX('-', @data,CHARINDEX('-',@data)+1)+1,CHARINDEX('-', @data,CHARINDEX('-', @data,CHARINDEX('-',@data)+1)+1) -CHARINDEX('-', @data,CHARINDEX('-',@data)+1)-1)+' as EmpId, '
+SUBSTRING(@data,CHARINDEX('-', @data,CHARINDEX('-', @data,CHARINDEX('-',@data)+1)+1)+1,LEN(@data)-CHARINDEX('-', @data,CHARINDEX('-', @data,CHARINDEX('-',@data)+1)+1)+1) +' as Day'
示例输出:
这篇关于如何在sql server中将字符串拆分为多个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文