首页 > 学院 > 开发设计 > 正文

包装方法自动计算成件数

2019-11-08 03:26:24
字体:
来源:转载
供稿:网友
ALTER function [dbo].[Zfun_bage](@UDF02 char(40)) returns intas--把包装方法自动计算成件数BEGIN declare @A CHAR(20) declare @num intselect top 1 @A=UDF02 from COPTH WHERE UDF02=@UDF02if (CHARINDEX('*',@A)>0 AND CHARINDEX('+',@A)<=0)beginSET @num= CONVERT(int,substring(@A,CHARINDEX('*',@A)+1,7)) endiF(CHARINDEX('*',@A)>0 AND CHARINDEX('+',@A)>0) beginif(LEN(@A)-LEN(REPLACE(@A,'+',''))=1 and LEN(@A)-LEN(REPLACE(@A,'*',''))=1 )begin set @num=1+CONVERT(INT,SUBSTRING(@A,CHARINDEX('*',@A)+1,CHARINDEX('+',@A)-CHARINDEX('*',@A)-1))    endif(LEN(@A)-LEN(REPLACE(@A,'+',''))=2 and LEN(@A)-LEN(REPLACE(@A,'*',''))=1 )begin set @num=2+CONVERT(INT,SUBSTRING(@A,CHARINDEX('*',@A)+1,CHARINDEX('+',@A)-CHARINDEX('*',@A)-1)) endif(LEN(@A)-LEN(REPLACE(@A,'+',''))=3 and LEN(@A)-LEN(REPLACE(@A,'*',''))=1 )begin set @num=3+CONVERT(INT,SUBSTRING(@A,CHARINDEX('*',@A)+1,CHARINDEX('+',@A)-CHARINDEX('*',@A)-1)) endif(LEN(@A)-LEN(REPLACE(@A,'+',''))=4 and LEN(@A)-LEN(REPLACE(@A,'*',''))=1 )begin set @num=4+CONVERT(INT,SUBSTRING(@A,CHARINDEX('*',@A)+1,CHARINDEX('+',@A)-CHARINDEX('*',@A)-1)) endendif(CHARINDEX('*',@A)<=0 and (LEN(@A)-LEN(REPLACE(@A,'+','')))>0 )SET @num=1+LEN(@A)-LEN(REPLACE(@A,'+',''))if(CHARINDEX('*',@A)<=0 and CHARINDEX('+',@A)<=0)SET @num=1IF(@A LIKE '%同上%'or @A='')set @num=0return @numEND
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表