SQL生成按月的自动编号

原创 2015年07月09日 16:44:49
CREATE PROCEDURE [dbo].[Select_NO]
(
   @UserId char(12)
 )
AS
SET NOCOUNT ON
declare @maxNO char(6),
@newNo int,
@yearMonth char(6),
@resultNo char(12)

--取当前年月YYYYMM
select @yearMonth = convert(nvarchar(6),getdate(),112) --'YYYYMM’

if not exists(select autoid from Orders where convert(nvarchar(6),OrdDate,112) = @yearMonth and UserID = @UserId)
begin
  select @resultNo = @yearMonth + '000001' 
end
else
begin
--取本月最大值
select @maxNO = substring(MAX(ordNO),7,6) from Orders where convert(nvarchar(6),OrdDate,112) = @yearMonth  and UserID = @UserId
--本月最大值加1
select @newno = convert(int,@maxNO) + 1
select @resultNo = @yearMonth + SUBSTRING('000000',1,6-len(@newno)) + CONVERT(varchar(6),@newno)
end


select @resultNo




if @@error > 0 
  return @@error
else
  return -1

SQL额外增加自动递增序号

图表1 如果数据表本身并不内含自动地增编号的字段时,要怎么做才能够让SELECT查询结果如图表1所示,额外增加自动递增序号呢?我们提供下列五种方法供您参考: USE北风贸易; GO ...
  • ITX2000
  • ITX2000
  • 2014年06月09日 10:43
  • 1230

SQL Server 获取插入记录后的ID(自动编号) -收录

最近在开发项目的过程中遇到一个问题,就是在插入一条记录的后要立即获取所在数据库中ID,而该ID是自增的,怎么做?在sql server 2005中有几种方式可以实现。   要获取此ID,最简单的方法就...
  • songyan_jun
  • songyan_jun
  • 2013年09月13日 09:49
  • 1917

SQL实现分组统计查询(按月、小时分组)

转自http://www.cnblogs.com/oec2003/archive/2009/06/04/1496541.html   首先创建数据表 Create table Counter...
  • peng_bin1989
  • peng_bin1989
  • 2013年07月15日 13:49
  • 10268

SQL Server 2014 数据表中如何添加和实现自动增长的序列号

看到之前的数据表中都有一列serial ,随着行数的增加,它会自动填充有序的序列号。于是想如何实现这个小功能呢?研究了好久,终于找到了。     第一种方法:利用SQL语句     ALTER...
  • ght886
  • ght886
  • 2017年11月29日 21:14
  • 170

SQL 获取指定月份的所有日期,SQL日期分页

最近做数据分析,遇到许多统计查询,其中有按月份统计每天的数据信息,由于sql中暂时没有获取二个日期间的日期集合函数,所以就需要我们手动构建sql,这里整理了下分享给出来供大家参考...
  • awu_scanner
  • awu_scanner
  • 2016年09月21日 12:09
  • 943

Java生成NO201601270001这样的流水编号

首先从数据库查询出已有的最大编号 拼成NO+当前时间格式的字符串 判断最大编号是否存在,最大编号中是否包含当天时间 如果最大编号不存在,则直接生成第一个编号NO201601270001 如果最大编号存...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年01月27日 09:26
  • 6535

使用SQL Server 获取插入记录后的ID(自动编号)

要获取此ID,最简单的方法就是在查询之后select @@indentity --SQL语句创建数据库和表 复制代码代码如下: create database dbdemo g...
  • Alexander_Frank
  • Alexander_Frank
  • 2016年05月27日 10:15
  • 7323

SQL SERVER 如何按月创建表分区?

SQL SERVER 如何按月创建表分区
  • netyeaxi
  • netyeaxi
  • 2017年07月13日 19:48
  • 1551

SQL查询按年、月累计求和

先有如下表格 C为主键 想查询出每年每月的累计交易额 SELECT 年, 月, 交易额, (SELECT SUM(交易额) ...
  • calorand
  • calorand
  • 2017年02月18日 19:15
  • 1941

java中自动生成编码,例如18位,20位等

/*** * * getCommonBh:(获得通用的编号:前缀(一般是单位的前N位+当前时间(自定义格式)+格式化的sequence值:00001)). * @au...
  • u011410254
  • u011410254
  • 2015年07月21日 20:27
  • 5748
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL生成按月的自动编号
举报原因:
原因补充:

(最多只允许输入30个字)