如何以这种格式创建自定义自动生成的ID:
yyyymmdd-xxxxx
其中:
-
yyyymmdd
是现在的日期, -
xxxxx
是从0
开始的自动增量整数号码
第二天xxxxx应重新启动至0。
谢谢
- 在您的DB中创建一个自动
ID
列 - 保存每个插入行的日期/时间。
然后使用ROW_NUMBER()
功能
SELECT *,
dayField + '-' + CAST(rn AS VARCHAR(100))
FROM (
SELECT ID, dateTimeField,
-- truncate the time and convert to yyyymmdd
CONVERT(VARCHAR(10), cast(dateField As Date), 112) as dayField,
ROW_NUMBER() OVER (PARITION BY cast(dateField As Date)
ORDER BY dateTimeField) as rn
-- or just ORDER BY ID
) T
现在,如果要保存在DB上,则可能需要触发。
您可能会考虑包括一个身份列和一个DateTime列,该列将在插入上设置并添加一个计算的列将两个列组合在一起。