[英]MySQL get records between now and a month last year
我正在嘗試創建一個SQL查詢來選擇時間戳小於NOW()但大於去年9月的記錄,但是我不想通過添加類似以下內容來指定年份:
date > '01/09/2014'
如果我今天要運行查詢,則應提供以下記錄:
2014年9月至2015年5月(5月,因為這是創建此問題的月份)
如果我明年運行它,它應該給我記錄從2015年9月到2016年5月(5月,因為它是創建此問題的月份)
您可以構造日期:
where date >= str_to_date(concat(year(now()) - 1, '-09-01'),
'%Y-%m-%d') and
date < now()
我猜您實際上想要一個稍微復雜一些的條件。 如果在年末(例如十二月)運行查詢,則可能需要當年的九月:
where date >= str_to_date(concat(year(now()) - (month(now) < 9), '-09-01'),
'%Y-%m-%d') and
date < now()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.