首页 文章

从日期字段mysql中仅提取月和日

提问于
浏览
0

我在数据库中有一个表,其中一些日期字段的格式为yyyy-mm-dd

我正在尝试执行一个查询,该查询仅记录从今天开始的3个月的记录 .

我这样做了

WHERE DATE_SUB(myTable.myField, INTERVAL 3 MONTH) = CURDATE()

它有效,但我的第二步是忽略我的日期字段和curdate()的年份 .

我已经尝试了 EXTRACTDATEFORMAT ,但查询不适用于这些功能 .

我该如何修改我的查询?

谢谢

2 回答

  • 1

    条件错了 .

    试试这个:

    ...WHERE myTable.myField >= CURDATE() - INTERVAL 3 MONTH...

    EDIT:

    根据您的评论:

    我的查询我已经在dateField中记录了这个日期'2016-12-07'(curdate()今天'2016-09-07')并且没关系 . 但是我希望那个查询给我的日期也是12个月和07日,忽略年份 . 例如 . 如果我有'2016-12-07'和'2014-12-07',我的查询必须给我两个记录 . 这是一个每天都会运行的查询

    ...WHERE DATE_FORMAT(myTable.myField,'%m-%d') = 
        DATE_FORMAT((CURDATE() + INTERVAL 3 MONTH),'%m-%d')...
    
  • 0

    使用以下条件,将从今天起查找间隔为3个月的记录 .

    WHERE myTable.myField = DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
    

相关问题