我正在尝试使用 CASE 表达式创建一个持久计算列:
ALTER TABLE dbo.Calendar ADD PreviousDate AS
case WHEN [Date]>'20100101' THEN [Date]
ELSE NULL
END PERSISTED
MSDN明确说CASE是确定性的,这里
但是,我收到一个错误:
消息 4936,级别 16,状态 1,第 1 行表“日历”中的计算列“PreviousDate”无法保留,因为该列是不确定的。
当然,我可以创建一个标量 UDF 并将其明确声明为确定性的,但是有没有更简单的方法呢?我已经在获取最新的服务包了。谢谢。