MS-SQL
채번 리딩제로
캡틴노랑이
2015. 7. 27. 13:10
반응형
-- 연 단위 MAX COUNT + 1 = 시퀀스
SELECT @SeqOfYear = COUNT(*) + 1
FROM BMS.dbo.TB_BW_WorkMgmt
WHERE SUBSTRING(WorkNo,1,4) = YEAR(GETDATE())
-- 리딩제로 적용(세자리)
SELECT @SeqLeadingZero = RIGHT('000'+ CONVERT(VARCHAR,@SeqOfYear),3)
SELECT @WorkNo = CONVERT(char(8),GETDATE(),112) + @SeqLeadingZero
-- WorkNo = 등록일자 + 리딩제로 적용된 일년 치 카운트 + 1 (ex 20130101+001)
SELECT @WorkNo
--채번
DECLARE @seq CHAR(4)
, @FileID CHAR(12)
SELECT @seq = ISNULL(MAX(Seq), 0) + 1
FROM TB_Down_File_ID
WHERE ComCode = ''
AND SUBSTRING(FileID, 1, 8) = CONVERT(VARCHAR(8), GETDATE(), 112)
SELECT @FileID = CONVERT(CHAR(8), GETDATE(), 112) + REPLICATE('0', 4 - LEN(@seq)) + @seq
SELECT @FileID
반응형