在我的數據庫表timestamp列的數據類型是longtext like this 1486335600.如何從MySQL的時間戳找到上個月的記錄?
如何編寫mysql select語句來檢索上個月的信息?
SELECT `timestamp` FROM `daily_deals`
在我的數據庫表timestamp列的數據類型是longtext like this 1486335600.如何從MySQL的時間戳找到上個月的記錄?
如何編寫mysql select語句來檢索上個月的信息?
SELECT `timestamp` FROM `daily_deals`
您應該嘗試下面的查詢來檢索上個月的信息。
SELECT `timestamp` FROM `daily_deals` WHERE date_created BETWEEN (CURRENT_DATE() - INTERVAL 1 MONTH) AND CURRENT_DATE();
你的時間戳保存爲UNIX時間戳,你可以用FROM_UNIXTIME()轉換爲日期/時間格式:
select from_unixtime(1486335600)
上個月的信息將是這樣的:
select `timestamp`
from `daily_deals`
where
`timestamp` >= unix_timestamp(current_date - interval 1 month)
但它取決於您的要求(例如,您現在可能需要整個1月份的數據,我們現在是在2月份,如果是這種情況,我們需要在where條件下稍加處理)
from_unixtim()這個函數轉換日期你的價值煽動像2017年2月6日5點30分00秒所以可以簡單的你能在條件
SELECT `timestamp` FROM `daily_deals` where
FROM_UNIXTIME(timestamp) BETWEEN 2017-01-01 and 2017-01-31
用這個日期你可以得到任何兩個日期之間的數據
SELECT'timestamp' FROM'daily_deals'其中FROM_UNIXTIME(timestamp)BETWEEN 2016-01-01和2016-01-31這返回給我空結果集 – shane
select FROM_UNIXTIME(timestamp)from daily_deals' limit 0,2運行這個查詢並告訴我結果是什麼 –
你應該使用一個mysql日期類型來存儲這些信息,這將使得這個和將來的查詢變得更容易。 – jeroen
,但它已經做了些什麼。我現在不允許改變數據類型 – shane
@shane你能使用我的答案嗎?你需要改變什麼? –