日期:2014-05-18  浏览次数:20493 次

求sql语句,查询字符串并比较字串大小的************************************
数据库其中有一列:
    aa
aa为varchar的字段
长度为9为


例如数据为
000020005
000020004
000020011

目的想查找出所有字符串中后四位转化为整形最大的数据,并+1,补充完整放入数据库
本列为:000020012
这个存储过程如何实现,谢谢!

------解决方案--------------------
create table tb(aa varchar(10))
insert into tb values( '000020005 ')
insert into tb values( '000020004 ')
insert into tb values( '000020011 ')
go

declare @max as varchar(9)
select @max = max(right(aa,4)) from tb
declare @l5 as varchar(5)
select @l5 = left(aa,5) from tb where right(aa,4) = @max
set @max = @l5 + right( '0000 ' + cast(cast(@max as int) + 1 as varchar),4)
insert into tb values(@max)
select * from tb
drop table tb

/*
aa
----------
000020005
000020004
000020011
000020012

(所影响的行数为 4 行)
*/