[原]SQL客户编号编码规则语句
客户编号需求规则
年+月+日+当前日期下第几个(用万位表示)
例如: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
编码规则可以根据各自情况自行编辑 在此只是提供多一种的方法
新手之路 渐行渐远......
优质内容筛选与推荐>>