我已经四处寻找解决方案,但似乎没有解决我的问题
SELECT TOP 10 [Appointment_Date]
FROM dbo.RF_Performance_Referrals_Main
WHERE (([Appointment_Date]) < '7/21/2014')
ORDER BY [Appointment_Date] DESC
以上是我正在尝试的查询的简化版本。我一直收到错误
[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]然后转换为 varchar数据类型为datetime数据类型导致超出范围 值
我想也许我的连接有问题......
所以我在Excel上尝试了它并得到了完全相同的错误......
我检查了SQL Server表,特定字段设置为DATETIME
那为什么会出错呢?
我在Cast / Convert上尝试了各种各样的东西,但是它们似乎都没有用,我仍然得到同样的错误。我真的不明白为什么。
如果解决此问题,请帮助。
提前多多感谢
答案 0 :(得分:1)
SQL Server的默认日期时间语法为YYYY-MM-DD HH:MM:SS,如(1900-01-01 00:00:00)
您必须将字符串转换为日期或将输入重新格式化为预期的日期时间默认值: http://msdn.microsoft.com/en-us/library/ms187819.aspx:假设美国本地和标准默认值。
答案 1 :(得分:0)
更改为
SELECT TOP 10 [Appointment_Date]
FROM dbo.RF_Performance_Referrals_Main
WHERE (([Appointment_Date]) < #2014/07/21#)
ORDER BY [Appointment_Date] DESC