Я пытаюсь создать детерминированную функцию с помощью SQL Server, чтобы я мог создать индекс для представления, которое вызывает эту функцию. Эта функция принимает имя столбца и возвращает конец месяца как datetime. Например, от 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')