【问题标题】:Identity Column Auto Increment with current year标识列与当前年份的自动增量
【发布时间】:2014-02-07 09:48:53
【问题描述】:

我的学生表有 RegNo。作为身份列等。现在我想要这个 RegNo。应该随着当年自动递增。我的意思是我只想要这个“2014-001”...“2014-002'....等等。我的意思是只取当年和递增的整数。明年再次开始表格1 新年。请告诉我完整的过程,我的意思是应该在哪里编写所需的函数。应该在哪里调用函数?在存储过程“Insert_Student_Info”中还是在某个地方分开?请不要说它是重复的......我是需要它的解决方案

【问题讨论】:

    标签: sql auto-increment


    【解决方案1】:

    好的,那就这样吧。

    制作如下函数:

    CREATE FUNCTION [ufn_GetNextID]() 
        returns varchar(10) 
    as 
    begin 
        declare @lastval char(10) 
        set @lastval = (select max(ID) from tbl_Student) 
        if @lastval is null set @lastval = '001' 
        else
         set @lastval = right(@lastval,3) + 1 
        return CAST(DATEPART(year,GETDATE()) as varchar) +'-'+ @lastval
    end
    GO
    

    【讨论】:

    • @Ashsih Charan...这个功能很好,但不会增加值。它显示 2014-1,2014-1,2014-1...在所有行中
    • 我已经测试过了。有用。目前您表中的最大值是多少?
    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 2018-07-30
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多