转换日期和/或时间时转换失败

时间:2017-03-29 19:24:29

标签: sql vb.net

我遇到了一个问题。我在下面的代码中获得了转换失败错误。

我无法确定为什么会发生这种情况,在我的开发环境中我没有收到错误,一切都顺利进行。

  Dim PrdDate As Date
        SQL.ReturnRead = 0
        PrdDate = dtpDataInput.Value.Date
        MsgBox(PrdDate)
        SQL.ReadQuery("SELECT CAST(DATEDIFF(second, TimeDown, TimeUp) / 60 / 60 % 24  AS NVARCHAR(50)) + '.'
               + CAST(DATEDIFF(second, TimeDown, TimeUp) / 60 % 60 AS NVARCHAR(50)) as HrsDown From UDOData
               WHERE (cast(TimeDown AS DATE) = '" & PrdDate & "' 
               AND CAST(TimeUp AS DATE) = '" & PrdDate & "') and FleetNo = '" & FleetStr & "'")
        UDOHRS = SQL.ReturnRead

我已经检查了实时环境中的区域设置,一切似乎都没问题。

感谢大家的帮助

1 个答案:

答案 0 :(得分:2)

格式化SQL Server时,最好始终将其格式化为YYYYMMDD。

只需使用

 WHERE (cast(TimeDown AS DATE) = '" & PrdDate.ToString("yyyyMMdd") & "'