我的MS Access数据库中有一个日期字段DTB_VER.VER_DATUM
,其中包含所有完整日期(例如03-04-2012)。
当我使用字符串格式(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*'
我可以再次搜索一天或一年或两者的组合(并留下一个月空白),但我无法搜索一个月。
答案 0 :(得分:0)
您可以使用访问日期格式,例如
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"