按日期生成编码的 SQL Server 代码,可以自动递增并不允许重复
时间: 2023-05-15 08:07:30 浏览: 71
以下是一个按日期生成编码的 SQL Server 代码,可以自动递增并不允许重复的示例:
CREATE TABLE dbo.OrderNumbers (
OrderNumberID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
OrderNumber VARCHAR(20) NOT NULL,
OrderDate DATE NOT NULL
)
DECLARE @OrderDate DATE = GETDATE()
DECLARE @OrderNumber VARCHAR(20)
SET @OrderNumber = 'ORD-' + CONVERT(VARCHAR(10), @OrderDate, 112) + '-' + RIGHT('0000' + CONVERT(VARCHAR(4), IDENT_CURRENT('dbo.OrderNumbers') + 1), 4)
INSERT INTO dbo.OrderNumbers (OrderNumber, OrderDate)
VALUES (@OrderNumber, @OrderDate)
SELECT @OrderNumber AS OrderNumber
请注意,这只是一个示例代码,您需要根据您的具体需求进行修改和调整。
相关问题
提过一个按日期生成编码的sqlserver代码,需要自动递增,补空号
以下是一个按日期生成编码的 SQL Server 代码,可以自动递增并补空号:
DECLARE @date VARCHAR(10) = CONVERT(VARCHAR(10), GETDATE(), 120)
DECLARE @maxCode VARCHAR(20)
DECLARE @newCode VARCHAR(20)
SELECT @maxCode = MAX(code) FROM yourTable WHERE code LIKE @date + '%'
IF @maxCode IS NULL
SET @newCode = @date + '001'
ELSE
SET @newCode = @date + RIGHT('000' + CAST(RIGHT(@maxCode, 3) + 1 AS VARCHAR(3)), 3)
INSERT INTO yourTable (code, otherColumns) VALUES (@newCode, otherValues)
提过一个按日期生成编码的sqlserver代码
以下是一个按日期生成编码的 SQL Server 代码示例:
DECLARE @date DATE = GETDATE();
DECLARE @code VARCHAR(10);
SET @code = 'CODE' + REPLACE(CONVERT(VARCHAR(10), @date, 120), '-', '');
SELECT @code;
这段代码将生成一个以“CODE”开头,后跟当前日期(格式为“yyyyMMdd”)的编码。例如,如果今天是2021年10月1日,那么生成的编码将是“CODE20211001”。