【发布时间】:2020-03-21 13:14:49
【问题描述】:
我在查询中计算了字段,而它减去了两个日期之间的天数差。我正在使用 SQL Server 执行我的查询。
当我使用以下功能时:
Cast(DATEDIFF(D,ACTUALFINISHDATE,PROJFINISHDATE) as int) AS 'Elasped Days
两个日期字段都是datetime 日期类型(例如2019-02-23 00:00:00.000)。我试过Convert() 而不是Cast(),但仍然遇到同样的问题。
我收到以下错误:
Msg 242, Level 16, State 3, Line 7 varchar 数据的转换 type 到 datetime 数据类型导致超出范围的值。
在转换之前是否需要将日期时间转换为varchar?
【问题讨论】:
-
发布一些示例数据。
-
ACTUALFINISHDATE和PROJFINISHDAT的数据类型是什么?它看起来像它的VARCHAR -
@DigvijayS 两者都是日期时间但包含空值
-
@Richard 如果这两列都是日期时间,那么这个错误是不可能的。要么你专注于错误的代码片段,要么你有字符串(varchar、nvarchar)。
标签: sql sql-server datediff