码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2014-11-05 00:09:45      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:des   blog   ar   sp   div   log   bs   as   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

 

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

标签:des   blog   ar   sp   div   log   bs   as   sql   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!