0
我有一個Equipment
表中的SQL Server 2008是這樣的:如何定義像這樣的計算列?
CREATE TABLE [dbo].[Equipment](
[EquipmentID] [nchar](10) NOT NULL,
[EquipmentName] [nchar](50) NOT NULL,
[ProducedDate] [date] NOT NULL,
[WarrantyPeriod] [int] NOT NULL,
[SerialNumber] [nchar](20) NOT NULL,
[BrandID] [tinyint] NOT NULL,
CONSTRAINT [PK_Equipment] PRIMARY KEY CLUSTERED
)
我想有一個計算列WarrantyStatus
這將返回Unexpired
或計算時,基於列ProducedDate
和WarrantyPeriod
Expired
。
這是不對的,但它是什麼,我想:
ALTER TABLE [dbo].[Equipment]
ADD [WarrantyStatus] AS IIF(DATEDIFF(MONTH, [ProducedDate], GETDATE()) < [WarrantyPeriod], "Unexpired", "Expired")
注意,這裏使用了時鐘可能不同步與您的Web服務器的時鐘服務器。可能會導致邏輯故障。 – usr