sql-server - 如何根据日期创建序列,即 06-11-2020 输出字段将为 2011001
问题描述
请帮助我在 SQL Server 中编写函数或存储过程我想根据日期创建序列,即 06-11-2020 输出字段将是 2011001。
到目前为止,我已经写了喜欢。
DECLARE @NewLotNo varchar(10);
DECLARE @PreFix varchar(6);
DECLARE @Id int;
SELECT
@Id = ISNULL(MAX(MeltingId), 0) + 1
FROM tblMelting
SELECT
@PreFix = CONVERT(char(6), GETDATE(), 112)
SELECT
@NewLotNo = RIGHT(@PreFix, 4) + RIGHT('00' + CAST(@Id AS varchar(6)), 6)
SET NOCOUNT ON
BEGIN
INSERT INTO tblMelting (MeltingDt, LotNumber, ItemId, Percentage, GrossWt)
VALUES (CONVERT(date, @HMeltingDt, 105), @NewLotNo, @HItemId, @HPercentage, @HGrossWt)
END
它可以工作,但是在 10 个数字之后它会像 20110010 一样工作,它应该是 2011010
请帮助我
问候
解决方案
SELECT FORMAT (getdate(), 'yyMMdd') as date
推荐阅读
- android - Ionic 原生 Zip 插件在解压俄语名称的 zip 文件时总是返回“Failed”
- javascript - 如何将对象解构为参数名称
- python - 从多语言 Unicode 文本中删除表情符号
- android - FragmentTransaction 中的片段 getView() 方法为 NULL
- paging - 启用分页时,xen 中的 ARM 启动代码无法启动
- jakarta-ee - 升级 weblogic 时在控制台中收到警告:无法为应用程序添加 Jersey servlet
- java - 我可以在 ios 开发的 xcode 项目中使用 java 库(瑞士星历表)吗?
- ruby - 如何重新创建任何?Ruby中的方法
- opencart - 将哈希更新为 HMAC-SHA-512
- powershell - 在 PowerShell 并行工作流中将输出导出到 CSV 时出现问题