【发布时间】:2021-02-21 21:49:55
【问题描述】:
根据MS docs DATEADD 是确定性函数,因此我下面的函数也应该是确定性的:
CREATE FUNCTION [dbo].[Epoch2Date] (@i INT)
RETURNS DATETIME WITH SCHEMABINDING
BEGIN
RETURN DATEADD(SECOND,@i,'1970-01-01 00:00:00')
END
但是当我使用SELECT OBJECTPROPERTY(OBJECT_ID('[dbo].[Epoch2Date]'), 'IsDeterministic') 检查它时,它会返回0(非确定性)。
- 为什么它是不确定的?
- 如何使我的函数具有确定性?
有一个类似的question,但它使用非确定性函数CAST,这里不是这种情况。
【问题讨论】:
标签: sql-server function deterministic