根据当前日期获取下一个编号的SQL语句

本文介绍如何利用SQL语句根据当前日期获取下一个编号,涉及SUBSTRING、STR、CAST等函数的使用,以及数据类型转换的注意事项,帮助理解SQL中日期处理和数字格式化的技巧。
摘要由CSDN通过智能技术生成
根据当前年月,例如‘201512’,查询数据库获取3位的数字,如果数据库中没有,则获取201512001,如果有,数据库中原来是201512010,则获取的下一个编号2015011.

      SELECT '201512' + REPLACE(STR(ISNULL(CAST(MAX(SUBSTRING('201512',LEN('201512')+1,3)) AS INT),0)+1,3),' ','0') FROM 数据表名称 WHERE SUBSTRING('字段名',1,LEN('201512'))='201512'

string sql = @"SELECT @PreID + REPLACE(STR(ISNULL(CAST(MAX(SUBSTRING(FieldName,LEN(@PreID)+1,@NumLen)) AS INT),0)+1,@NumLen),' ','0')
                           FROM TableName WHERE SUBSTRING(FieldName,1,LEN(@PreID))=@PreID;";
      @PreID 代表日期   @NumLen代表@PreID后面跟几位数字

1.SUBSTRING字符串的截取
    SELECT SUBSTRING('1234',1,1)
     截取的字符串,开始位置,截取的长度
2.STR
将数值型转换成指定长度的字符串
如select STR(12345.633,7,1) 结果为12345.6
第一个参数是要转换的数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值