我的MS Access数据库中有一个日期字段DTB_VER.VER_DATUM
,其中包含所有完整日期(例如2012年4月3日)。
当我用字符串格式(vb.net)创建以下查询时:
Dim sql as string = string.format("SELECT * FROM DTB_VER WHERE VER_DATUM LIKE '{0}%-{1}%-{2}%'", day, month, year)
有了这个查询,我可以完美地搜索一天、一年或两者的组合,但一旦我输入一个月,它就会失败,我不知道为什么。
有什么想法吗?
更新:
我试过以下几种:
SELECT * FROM DTB_VER where Day(Ver_datum) like '*day*' and Month(Ver_datum) like '*month*' and year(Ver_datum) like '*year*'
同样,我可以搜索日期、年份或两者的组合(并将月份留空),但我不能搜索一个月。
您可以使用访问日期格式,例如
sql="SELECT * FROM DTB_VER WHERE VER_DATUM=#" & year & "/" & month & "-/" & day & "#"
不能将LIKE用于日期。如果你想选择一个月中的所有日子,你需要这样的东西:-
sql="SELECT * FROM DTB_VER WHERE VER_DATUM>=#" & year & "-" & month & "-01# and VER_DATUM<#" & format(dateadd("m",1,cdate(year & "/" month & "/" & day),"yyyy/mm") & "/01"