簡體   English   中英

MySQL在現在到去年一個月之間獲取記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM