SQL Server7 的数据库中,要建一个存储过程,其中需要取出表中ID字段的最大值,然后加1进行处理,这个字段用的是CHAR(11),结果取值时max(ID)就会出错,说是整形溢出了,这时候该怎么处理呢?
请指点!
可以这样:
declare @Id varchar(11)
select @Id=substring(rtrim(max(id)),1,6)+convert(varchar(5),convert(int,substring(rtrim(max(id)),7,5))+1) from tablename
你可以先求出加1後的長度len,可用select replicate(10-len,0)+數值 即可。