在日期字段上的ms访问查询中格式化通配符

时间:2012-08-03 10:53:53

标签: sql vb.net ms-access string.format

我的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*'

我可以再次搜索一天或一年或两者的组合(并留下一个月空白),但我无法搜索一个月。

1 个答案:

答案 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"