我有下表:
CREATE TABLE Portfolio.DailyStats
(
Date date NOT NULL PRIMARY KEY,
NAV int NOT NULL,
SP500 decimal(8,4) NULL,
R2K decimal(8,4) NULL,
NetExp decimal(8,4) NULL,
GrossExp decimal(8,4) NULL,
[YrMn] AS (CONVERT([varchar](7),[Date])),
)
GO
我想我可能需要在某个时刻建立一个索引视图,所以我想确保我的计算列[YrMn]是确定性的。我跑了这张支票:
Select COLUMNPROPERTY (OBJECT_ID('Portfolio.DailyStats'),'YrMn', 'IsDeterministic')
返回值0表示该列是非确定性的。我正在努力弄清楚为什么会出现这种情况,因为列值在特定日期总是相同的。它与转换函数有什么关系吗?
答案 0 :(得分:1)
如果您包含convert()
的第三个参数style
,那么它就变得具有确定性。 e.g。
[YrMn] AS (convert([varchar](7),[Date],120))
rextester演示:http://rextester.com/DFNA25042