1

我有下表:

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 表示该列是不确定的。鉴于特定日期的列值始终相同,我正在努力弄清楚为什么会出现这种情况。它与转换功能有关吗?它是什么?

4

1 回答 1

1

convert()如果您包含 的第三个参数,它将成为确定性style。例如

[YrMn]  AS (convert([varchar](7),[Date],120))

rextester 演示:http ://rextester.com/DFNA25042

于 2017-04-26T19:36:47.157 回答