由于我花了两个小时试图解决这个问题,但在 SO 上找不到答案,我决定添加一个新问题。事后看来,答案可以在 SO 上回答,但前提是您要在正确的地方寻找它。
问题:在尝试保留计算列时(在我的情况下包括cast('2013-09-30 23:59:59' as datetime)
在 SQL Server 中,我收到一个错误,提示它不能按原样保留non-deterministic
。
由于我花了两个小时试图解决这个问题,但在 SO 上找不到答案,我决定添加一个新问题。事后看来,答案可以在 SO 上回答,但前提是您要在正确的地方寻找它。
问题:在尝试保留计算列时(在我的情况下包括cast('2013-09-30 23:59:59' as datetime)
在 SQL Server 中,我收到一个错误,提示它不能按原样保留non-deterministic
。
解决方案:使用CONVERT
而不是CAST
指定一个style
示例convert(datetime,'2013-09-30 23:59:59',120)
。在此示例中,120
是样式,指的是 YYYY-MM-DD HH:MI:SS 格式。
警告:我看到一些帖子暗示某些样式可能是非确定性的,因此请查看http://msdn.microsoft.com/en-us/library/ms187928.aspx以了解样式的完整说明。