我的发票号码格式为[YYYY]-[4-digit Number]
。例如,2014-0123
。当存储过程的年份发生变化时(即[Next year]-[0001]
),我想将发票编号重置为2015-0001
。我怎样才能做到这一点?我也希望每年都会发生这种情况。如何检查SQL Server 2008中的年份是否更改?
这是我用来生成发票号码的查询。
SELECT @INV_NO = SUBSTRING(CAST(SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30') AS VARCHAR),1,4)
+ '-' + right('0000'+ ISNULL(CONVERT(varchar(max),CONVERT(BIGINT,MAX(SUBSTRING(INV_NO,6,4)))+1),1),4)
FROM dbo.IMG_TRN_INV
现在我不知道如何从存储过程中重置发票号码。
请在GETDATE()和DATEPART一些研究,煮了一些SQL,并张贴在这里我们可能会提供帮助。您还需要描述哪些流程会创建发票号码。它是一个应用程序吗?然后你需要发布代码。 – 2014-10-28 09:37:21
@Aniruddha编辑你的问题,而不是 – artm 2014-10-28 09:39:38
我想做一个触发器,基于当前的日期,我想。 – 2014-10-28 09:46:18