MS Access / Excel SQL Server查询生成转换错误DATETIME

我已经四处寻找解决scheme,但他们都没有解决我的问题

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数据types转换为date时间数据types导致超出范围的值

我想也许我的连线有问题

所以我在Excel上试了一下,得到了完全相同的错误…

我检查了SQL Server表中特定字段设置为DATETIME

那么为什么会发生错误呢?

我在Cast / Convert上尝试了各种各样的东西,但没有一个看起来工作,我仍然得到相同的错误。 我真的不明白为什么。

如果解决这个问题请帮忙。

非常感谢

SQL Server的默认date时间语法是YYYY-MM-DD HH:MM:SS,如(1900-01-01 00:00:00)

您必须将string强制转换为date或将input重新格式化为预期的date时间默认值: http : //msdn.microsoft.com/en-us/library/ms187819.aspx :假设美国本地和标准默认值。

改成

 SELECT TOP 10 [Appointment_Date] FROM dbo.RF_Performance_Referrals_Main WHERE (([Appointment_Date]) < #2014/07/21#) ORDER BY [Appointment_Date] DESC