【发布时间】:2017-03-09 23:58:39
【问题描述】:
我正在尝试使用 SQL Server 创建一个确定性函数,以便我可以为调用此函数的视图创建索引。此函数采用列名并将月末作为日期时间返回。例如,201701 到 20170131。
你能帮我把它转换成确定性函数吗?
CREATE FUNCTION dbo.ufnGetFiscalPeriodEndDate (@FiscalPeriod VARCHAR(10))
RETURNS DATE
WITH SCHEMABINDING
AS BEGIN
RETURN EOMONTH(CAST(LEFT(@FiscalPeriod, 4) + RIGHT(@FiscalPeriod, 2) + '01' AS DATE))
END
此 OBJECTPROPERTY 查询返回 0...
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetFiscalPeriodEndDate'), 'IsDeterministic')
【问题讨论】:
标签: sql-server function deterministic non-deterministic