我怎麼能以這種格式創建一個自定義自動生成的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'重新開始每個新的日期。 –