【问题标题】:Microsoft Access SQL to query a date range ignoring the yearMicrosoft Access SQL 查询忽略年份的日期范围
【发布时间】:2013-10-06 23:31:42
【问题描述】:

我需要根据一系列月/日值选择记录,而不考虑年份。我正在查询一个 Access 数据库,我发现了一个查询 here,但它似乎选择了一个年份范围。

SELECT *
FROM   Factory
WHERE  YEAR(date) BETWEEN 1998 AND 1999 

我试过这个查询,但它只显示当年的生日:

SELECT * FROM user where birthday Between #09/05# and #10/10#;

在我的数据库中,生日列包含计算他们年龄的年份。我可以使用什么查询来执行我想要的操作?

【问题讨论】:

  • 在访问中使用#1991/12/31#表示查询中的日期类型
  • 我刚刚更新了我的问题,我想查询我的数据库而不考虑我数据库中“生日”列中的年份
  • 我的程序想每年检查生日而不考虑年份示例:我想检查用户在 9 月 5 日到 10 月 10 日之间的生日,如何查询?

标签: sql ms-access


【解决方案1】:

试试

SELECT * FROM user 
WHERE (month(birthday) * 100) + day(birthday) between 0131 and 1231

【讨论】:

    【解决方案2】:

    试试这个。

    SELECT * 
    FROM user 
    WHERE birthday between #1991/12/31# and #1992/01/31#;
    
    OR
    
    SELECT * 
    FROM user 
    WHERE birthday between #12/31/1991# and #01/31/1992#;  
    
    OR
    
    SELECT * FROM 
    user
    WHERE birthday between #1991/12/31# and #1992/01/31#
    

    【讨论】:

    • 嗨,谢谢你的回复,我刚刚更新了我的问题,
    猜你喜欢
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多