Sql 从字符串转换日期和/或时间

Sql 从字符串转换日期和/或时间,sql,sql-server,Sql,Sql Server,有人能告诉我这个代码有什么问题吗,我得到了错误: 从字符串转换日期和/或时间时,转换失败 从字符串转换日期和/或时间时,转换失败 问题在于SQL Server需要日期或日期时间,并且正在接收字符串。您提供的代码中唯一需要日期或日期时间的是 datediff( day, t1.medbuildcmpltdt, t1.orderingtoolbuildcmpltdt ) 因此,t1.medbuildcmpltdt或t1.orderingtoolbuildcmpltdt是

有人能告诉我这个代码有什么问题吗,我得到了错误:

从字符串转换日期和/或时间时,转换失败

从字符串转换日期和/或时间时,转换失败

问题在于SQL Server需要日期或日期时间,并且正在接收字符串。您提供的代码中唯一需要日期或日期时间的是

datediff(
    day, 
    t1.medbuildcmpltdt, 
    t1.orderingtoolbuildcmpltdt
)

因此,t1.medbuildcmpltdt或t1.orderingtoolbuildcmpltdt是一个字符串([n][var]char),其中包含的值不能解释为有效的日期或日期时间值。

您能仔细检查这两列的数据类型吗?:t1.medbuildcmpltdt&t1。orderingtoolbuildcmpltdt@GenWan他们两个都是Date我们无法访问你的数据,因此,无法运行或复制此问题。这听起来像是将
orderingtoolbuildcmpltdt
存储为日期和时间数据类型以外的数据类型,因此出现了错误。使用正确的数据类型很重要。此外,还缺少右括号。但是,如果您解决了这个问题,那么作为
日期的那两列不会复制错误:如果您注释掉那行代码,查询是否有效?
datediff(
    day, 
    t1.medbuildcmpltdt, 
    t1.orderingtoolbuildcmpltdt
)