修改大力函数:
drop function getorder
create function getorder(@field varchar(1000))
returns numeric(38)
as
begin
declare @bb int,@cc int,@value varchar(8000)
set @field = @field +'.' //。。。。。。。。。。。
select @bb=0,@cc=charindex('.',@field)
set @value=right(replicate('0',3)+substring(@field,@bb,@cc-@bb),3)
if @value='' return left(@field+replicate('0',38),38)
while @cc>0
begin
set @bb=@cc+1
set @cc=charindex('.',@field,@bb) //。。。。。。。。。。。
set @value=@value+right(replicate('0',3)+cast(substring(@field,@bb,case when @cc>0 then @cc-@bb else len(@field) end) as varchar),3)
end
return cast(left(@value+replicate('0',38),38) as numeric(38))
end
修改大力函数:
drop function getorder
create function getorder(@field varchar(1000))
returns numeric(38)
as
begin
declare @bb int,@cc int,@value varchar(8000)
set @field = @field +'.' //。。。。。。。。。。。
select @bb=0,@cc=charindex('.',@field)
set @value=right(replicate('0',3)+substring(@field,@bb,@cc-@bb),3)
if @value='' return left(@field+replicate('0',38),38)
while @cc>0
begin
set @bb=@cc+1
set @cc=charindex('.',@field,@bb) //。。。。。。。。。。。
set @value=@value+right(replicate('0',3)+cast(substring(@field,@bb,case when @cc>0 then @cc-@bb else len(@field) end) as varchar),3)
end
return cast(left(@value+replicate('0',38),38) as numeric(38))
end
create function getorder(@field varchar(1000))
returns numeric(38)
as
begin
declare @bb int,@cc int,@value varchar(8000)
select @bb=0,@cc=charindex('.',@field)
set @value=right(replicate('0',3)+substring(@field,@bb,@cc-@bb),3)
if @value='' return left(@field+replicate('0',38),38)
while @cc>0
begin
set @bb=@cc+1
set @cc=charindex('-',@field,@bb)
set @value=@value+right(replicate('0',3)+cast(substring(@field,@bb,case when @cc>0 then @cc-@bb else len(@field) end) as varchar),3)
end
return cast(left(@value+replicate('0',38),38) as numeric(38))
end