首页 > 数据库技术 > 详细

SQL拆分多规则的字符串分离数字。

时间:2014-11-05 00:09:32      阅读:365      评论:0      收藏:0      [点我收藏+]
--拆分多规则字符串
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

 

SQL拆分多规则的字符串分离数字。

原文:http://www.cnblogs.com/zfanlong1314/p/4075022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!