본문 바로가기
MS-SQL

채번 리딩제로

by 캡틴노랑이 2015. 7. 27.
반응형

-- 연 단위 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 

 

반응형

댓글