SQL拆分多规则的字符串分离数字。
--拆分多规则字符串 DECLARE @Codes NVARCHAR(MAX) SET @Codes = '6*BC-007,*BC-016,9*BC-015' --对于*BC-015这种情况,则Qty设置为1 SELECT * FROM dbo.fun_split(@Codes, ',') SELECT (CASE WHEN CHARINDEX('*', sp.SplitValue) > 0 THEN SUBSTRING(sp.SplitValue, CHARINDEX('*', sp.SplitValue) + 1, LEN(sp.SplitValue) - CHARINDEX('*', sp.SplitValue)) ELSE sp.SplitValue END) AS 'Code' , (CASE WHEN CHARINDEX('*', sp.SplitValue) > = 2 THEN SUBSTRING(sp.SplitValue, 1, CHARINDEX('*', sp.SplitValue) - 1) ELSE 1 END) AS 'Qty' FROM dbo.fun_split(@Codes, ',') AS sp --SELECT SUBSTRING('8*BC-015', CHARINDEX('*', '8*BC-015') + 1, -- LEN('8*BC-015') - CHARINDEX('*', '8*BC-015')) --SELECT CHARINDEX('*','*BC-016') --返回是1
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET