客户编号需求规则   

     年+月+日+当前日期下第几个(用万位表示)

   例如:201404190001 下一个则是 201404190002

一般我们都是在数据库抓取编号 然后在后台判断 今天就写一个在数据库直接返回下一个编号的语句

1 select top 1  
2 ---------------用case判断--获取当前日期转换为int型的yyyyMMdd格式-----------截取客户编码前8位 即yyyyMMdd格式
3     nextCusNum= case (cast(CONVERT(nvarchar(100), GETDATE(), 112) as int) -cast(left(cusnum,8) as int))
4 ---------------------当客户编码前8位于当前日期相等则客户编码直接+1----------------
5                 when 0 then cast(left(cusnum,8) as nvarchar(100))+right('0000'+cast((right(cusnum,4)+1) as nvarchar(100)),4)
6 ---------------------不然则添加0001--------------------------
7                 else CONVERT(nvarchar(100), GETDATE(), 112)+ '0001'
8     end
9 from custom  order by id desc

 

编码规则可以根据各自情况自行编辑 在此只是提供多一种的方法

 

  新手之路 渐行渐远......