我遇到了一个问题。我在下面的代码中获得了转换失败错误。
我无法确定为什么会发生这种情况,在我的开发环境中我没有收到错误,一切都顺利进行。
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
我已经检查了实时环境中的区域设置,一切似乎都没问题。
感谢大家的帮助
答案 0 :(得分:2)
格式化SQL Server时,最好始终将其格式化为YYYYMMDD。
只需使用
WHERE (cast(TimeDown AS DATE) = '" & PrdDate.ToString("yyyyMMdd") & "'