sql server 将一个以特定字符分开的参数转换成多行

FID                  url
-------------------- ---------------------
100                  [04],[1402],[9999],[0106]

在实际应用是经常会碰到这种参数,在sql中直接调用不了必须进行处理才能使用在in或者别的场景中

with base_para as  
 (
 select URL=cast(left(URL,charindex(',',URL+',')-1) as nvarchar(100)),Split=CAST( right(URL+',',len(URL) - charindex(',',URL+',') + 1) as nvarchar(100))
	from T_HIS_SYSPARAMS WHERE FNAME = '体检统计的方式'
	 
 union all 
 select URL=cast(left(Split,charindex(',',Split)-1) as nvarchar(100)),Split= CAST( right(Split,len(Split) - charindex(',',Split))
	as nvarchar(100)) from base_para where split <> '' 
 ) 
 select URL , Split from base_para 

URL    Split
---------------
[04] ,  [1402],[9999],[0106],
[1402], [9999],[0106],
[9999], [0106],
[0106]                                                                                               


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值