我怎么能以这种格式创建一个自定义自动生成的ID:自定义自动生成的ID
yyyymmdd-xxxxx
其中:
yyyymmdd
是当前日期和xxxxx
是从0开始自动递增整数0
第二天xxxxx应重新启动0
感谢
我怎么能以这种格式创建一个自定义自动生成的ID:自定义自动生成的ID
yyyymmdd-xxxxx
其中:
yyyymmdd
是当前日期和xxxxx
是从0开始自动递增整数0第二天xxxxx应重新启动0
感谢
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
现在,你可能会需要一个触发。
请注意,这会生成连续的数字,例如,如果您想将其用于报告。但是如果你想用它作为FK。你** CANT **使用它,因为会因任何删除而中断。 –
您可能会考虑添加将在插入时设置的Identity列和日期时间列,并添加计算列以将两者放在一起。
你有另一列存储自动增量整数 – Shyju
重复:http://stackoverflow.com/q/27845180/864696 –
看看使用'序列',如果你需要'xxxxx'重新开始每个新的日期。 –