-- 创建序列
CREATE SEQUENCE dbo.MySequence
AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 1
NO MAXVALUE
NO CYCLE;
-- 查询序列的当前值
用法
SELECT NEXT VALUE FOR dbo.MySequence AS CurrentSequenceValue;
CREATE SEQUENCE [dbo].[GENEREATE_CARTON_NO]
AS bigint
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99999
NO CYCLE
CACHE 25
GO
限定固定长度 不足补0 如限定长度为5 生产了15
那么就是00015
套路代码
DECLARE @GenereateLen INT = 4;
DECLARE @Number INT
set @Number=NEXT VALUE FOR GENEREATE_SEQUENCE
DECLARE @ENDStr VARCHAR(100) = REPLICATE('0', @GenereateLen - LEN(CONVERT(VARCHAR(10), @Number))) + CONVERT(VARCHAR(10), @Number);
网友评论