Sql ms access内置功能月(个)

Sql ms access内置功能月(个),sql,ms-access-2003,Sql,Ms Access 2003,我一直在玩这个月的变奏曲。。。函数在access查询生成器中。我无法从表达式中构建日期值。我希望创建我自己的日期,将在幕后执行一些过滤和其他任务。我的问题是,我似乎无法让Month(number)函数做我认为它应该做的事情。这是我要找的东西的摘要 5/31/2012 通过这样的事情 DateSerial(Year(Date()),Month(5),Day(31)) Also DateSerial(Year(Date()),Month("5"),Day("31")) 当我尝试这些作为一种体验时

我一直在玩这个月的变奏曲。。。函数在access查询生成器中。我无法从表达式中构建日期值。我希望创建我自己的日期,将在幕后执行一些过滤和其他任务。我的问题是,我似乎无法让Month(number)函数做我认为它应该做的事情。这是我要找的东西的摘要

5/31/2012
通过这样的事情

DateSerial(Year(Date()),Month(5),Day(31))
Also
DateSerial(Year(Date()),Month("5"),Day("31"))
当我尝试这些作为一种体验时,回报是

1/30/2012

我肯定我误解了结构。请告诉我。

日期序列需要三个整数,年、月、日:

 DateSerial(1992,5,2)

 02/05/1992 ''Euro locale
Year(Date())返回一个整数,因此可以替换为:

 DateSerial(Year(Date()),5,31)
有趣的是,第0天是上个月的最后一天:

 DateSerial(2012,12,0)=30/11/2012 
--

顺便说一句,不要忘记所有日期都是数字

月(5)
将等于1,但
月(41263)=12


删除,因此DateSerial使用的是连续的日期值,而不是日历值。因此,2012年3月10日相当于月(130)??否。一个年整数,一个月整数,介于1和12之间,一个日整数,介于1和31之间。我包括了一个链接。然而,你可以胡闹,并得到一个结果,只是不是你期望的结果。附加信息与所有日期都是数字这一事实有关。41263是今天,所以这个月是12号。谢谢你!我感谢你的帮助!
?month(100)
 4 
?Year(100)
 1900