使用日期时使用持久列的非确定性问题

时间:2013-07-31 10:30:15

标签: sql sql-server

由于我花了两个小时试图解决这个问题并且无法在SO上找到答案,所以我决定添加一个新问题。事后看来,答案可以在SO上得到解答,但前提是你在正确的地方寻找答案。

问题: 虽然尝试在SQL Server中保留计算列(在我的情况下包括cast('2013-09-30 23:59:59' as datetime)),但我得到一个错误,告知它不能保持为non-deterministic

1 个答案:

答案 0 :(得分:1)

解: 使用CONVERT而不是CAST并指定style,例如convert(datetime,'2013-09-30 23:59:59',120)。在此示例中,120是样式,并引用YYYY-MM-DD HH:MI:SS格式。

CAVEAT: 我看到一些帖子暗示某些样式可能是非确定性的,因此请查看http://msdn.microsoft.com/en-us/library/ms187928.aspx以了解样式的完整运行。