創建專欄中,我想知道是否有可能創建與使用了一年的前面,如果數量自動增量列的表(格式:YYYY ##):與年度和自動增量
CRATE TABLE "Example"(
[Number] autoincrement(YYYY##),
[Text] nvarchar(30)
)
列'數字'的外觀如何?它甚至有可能嗎?
謝謝!
第2部分:
年背後的數量應該逐年之後,從0開始。
輸出示例:
2013-01
2013-02
2013-03
2014-01
創建專欄中,我想知道是否有可能創建與使用了一年的前面,如果數量自動增量列的表(格式:YYYY ##):與年度和自動增量
CRATE TABLE "Example"(
[Number] autoincrement(YYYY##),
[Text] nvarchar(30)
)
列'數字'的外觀如何?它甚至有可能嗎?
謝謝!
第2部分:
年背後的數量應該逐年之後,從0開始。
輸出示例:
2013-01
2013-02
2013-03
2014-01
您可以使用Computed Columns
例如:
CREATE TABLE T
(
ID int IDENTITY (1,1) NOT NULL,
DateField datetime DEFAULT (getdate()),
DateIDChar AS CAST(YEAR(DateField) AS Varchar)+'-'+CAST(ID as VARCHAR),
DateIDInt AS YEAR(DateField) * 10000+ID,
SampleField varchar(100)
);
這裏:
ID
是鹼自動增量字段DateField
被一個DateTime部分與當前日期作爲默認DateIDChar
- 例如計算字段 - 格式化爲varchar
DateIDId
示例計算場格式化爲int
老兄,這就像我能得到的最佳答案:D謝謝你非常多 –
你可以再做一次ID嗎?如果它從每個yeahr之後的0開始,都會很棒 –
據我所知,你不能做到這一點與自動增量列。相反,您可以在創建記錄的那一天添加一列。然後,當您想輸出帶有自動增量的列時,可以根據您的規格格式化輸出。
即
CREATE TABLE "Example" (
[Number] autoincrement(YYYY##),
[Text] nvarchar(30),
[CreatedDate] datetime
)
-- output
select convert(varchar(4), year(CreatedDate)) + convert(varchar, Number)
希望這有助於
你正在使用哪些DBMS? –
Microsoft SQL Server管理工作室 –
Microsft SQL Server是DataBase管理系統,Microsoft SQL Server Management Studio是用於使用Microsoft SQL Server的工具:-) –