我想知道是否可以创建一个带有列的表,该列在if(Format: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)
);
SQLFiddle demo
这里:
ID
是基本的自动递增字段DateField
是DateTime部分,默认为当前日期DateIDChar
-格式为varchar
的示例计算字段DateIDId
-格式为int
的示例计算字段