Excel:从单元格查询带有date参数的SQL表

我有一个ODBC连接,它只是查询一个SQL表:

SELECT * FROM [TABLE] WHERE myDate = ? 

如果我在MS Query中运行查询,它会提示inputdate,我可以input4/2/2015 ,然后返回4/2/2015数据

我有参数设置从单元格(B1)读取:

 =WorkSheetName!$B$1 

当我切换回Excel,并把4/2/2015B1 ,然后刷新 – 它给了我转换date和/或时间从string错误转换失败。

我试着编辑我的查询WHERE CONVERT(Varchar(10),myDate,101) = ? 但没有运气。 不知道为什么我得到这个,似乎应该这么简单。

我很欣赏我得到的反馈 – 但事实certificate,这是我所忽视的一些事情。 实际的细胞我保持我的date被格式化为一个date,并给出一个转换错误。 一旦我将其格式化为文本单元格,它就会正确地返回给定date的数据。 谢谢

在尝试使用Date作为filter时,必须用#填充filter部分。

应该是这样的

 SELECT * FROM [TABLE] WHERE myDate = #4/2/2015# 

将“myDate”列转换为“Smalldatetime”格式应该适合您。

尝试这个:

 SELECT * FROM [TABLE] WHERE Cast(myDate as smalldatetime) = ? 

谢谢