ここで何かお役に立てれば幸いです。@NAME から最初のアルファベットを挿入して英数字 ID を生成する次のストアド プロシージャがあります @name = Test
。T001. しかし、私は最初の 2 つの aplha を含めようとしています.. つまり、@name = Test
生成します。TE001。を変更しようとしまし たが、これを行う@PREFIX VARCHAR(2)
と.. SUBSTRING(@NAME, 1,2)
数値は自動増加しません。
DECLARE @NEWID VARCHAR(5);
DECLARE @PREFIX VARCHAR(1);
SET @PREFIX = UPPER(SUBSTRING(@NAME, 1, 1))
SELECT @NEWID = (@PREFIX + replicate('0', 3 - len(CONVERT(VARCHAR,N.OID + 1))) + CONVERT(VARCHAR,N.OID + 1)) FROM (
SELECT CASE WHEN MAX(T.TID) IS null then 0 else MAX(T.TID) end as OID FROM (
SELECT SUBSTRING(ID, 1, 1) as PRE_FIX,SUBSTRING(ID, 2, LEN(ID)) as TID FROM Testing
) AS T WHERE T.PRE_FIX = @PREFIX
) AS N