ID инцидента в год - PullRequest
       52

ID инцидента в год

0 голосов
/ 30 апреля 2020

Я пытаюсь получить номер дела с автоматическим увеличением по годам. Я смог получить его с помощью следующего кода.

create function CalcIncidentID(@yrIn int)
returns float
as 
-------------------------------------
--* This function calculates the next case # for a year
--* Usage:
--*       Select CalcIncidentID(2012)
------------------------------------------

begin
    Declare @nextCase as int;
    Declare @nextYear as int;

    SET @nextYear = (@yrin +1) *10000
    SET @yrIn = (@yrIn*10000)

    SET @nextCase = (Select MAX(IncidentID)
                        From Incident
                        Where IncidentID > @yrin and IncidentID <= @nextYear) + 1

    if @nextCase is null
        SET @nextCase = @yrIn+1

    return @nextCase
end

Хотя это работает нормально, я бы хотел, чтобы этот формат имел следующий формат (ГГГГ - ####), а не текущий (ГГГГ # ###).

Я знаю, что придется вернуться как varchar. Хотя я не могу понять, как установить следующий случай, если IncidentID не одно число.

...