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/2015
在B1
,然后刷新 – 它给了我转换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) = ?
谢谢