如何为月和年列创建唯一索引?

sad*_*ter 2 sql-server-2008

有谁知道如何为月和年列创建唯一索引?

如:JAN 2012 应该是一个唯一索引,并且还有助于按月和年搜索和检索结果。

谢谢

mar*_*c_s 7

假设您有一个类型为DATEor DATETIME2(or DATETIME)的列,您可以为年和月定义两个计算的、持久化的列,并在这些列上放置一个唯一索引:

ALTER TABLE dbo.YourTable
ADD DateMonth AS MONTH(YourDateColumn) PERSISTED

ALTER TABLE dbo.YourTable
ADD DateYear AS YEAR(YourDateColumn) PERSISTED

CREATE UNIQUE INDEX UIX_YourTable_MonthYear ON dbo.YourTable(DateMonth, DateYear)
Run Code Online (Sandbox Code Playgroud)