在SQL中查询允许通配符月/日但特定年份

时间:2009-10-02 13:01:25

标签: sql ms-access

如果我在Access中有一个日期/时间字段,我需要查找特定年份的所有条目...比如2009.如果我的字段设置为MM / DD / YYYY,我该怎么办?基本上执行 / / 2009

的查询

更新 感谢大家的帮助,但我想问题是我在ASP中动态构建我的SQL语句。

"SELECT * FROM database WHERE (datecolumn LIKE " & string & ")" 

其中字符串最终返回一个我构造为'DD / MM / YYYY'的字符串。如果用户没有在3个字段中的任何一个中输入任何内容,我将需要做一个特定的查询,其中该部分是通配符...如果他们没有放入一天,我基本上需要一个

"SELECT * FROM database WHERE (datecolumn LIKE "*/MM/YY")"

....这在Microsoft Access中不起作用

4 个答案:

答案 0 :(得分:5)

怎么样

WHERE MyDate >= '1/1/2009' AND MyDate < '1/1/2010'

答案 1 :(得分:3)

您应该可以使用Year()功能

一些例子:

Year (#05/05/1985#)      returns 1985
Year (#17/07/2005#)      returns 2005

例如,如果您的字段被称为“myDate”,您可以构建一个查询来选择2009年的所有内容,如下所示:

SELECT * FROM myTable WHERE Year(myDate) = 2009

此功能在MS Access和SQL Server中也可用(如果您有兴趣)。

一些链接以获取更多信息:

Access: Year Function
Year Function
YEAR (Transact-SQL)

答案 2 :(得分:0)

WHERE Year(DateColumn) = 2009

答案 3 :(得分:-1)

OTTOMH

SELECT * FROM Table WHERE DatePart ("yyyy", YourDatetimeColumn) = 2009