MySQL與當前時間比較方法
MySQL中有一種特殊的時間類型——時間戳(timestamp)。它用整數類型存儲時間,存儲的范圍為1970年1月1日00:00:00到2038年1月19日03:14:07。我們可以利用這種類型的特性快速進行時間比較。
比較方法——CURRENT_TIMESTAMP()
CURRENT_TIMESTAMP()函數可以返回當前系統時間,并且以時間戳的形式存儲。我們可以將這個時間戳與其他時間戳比較,來實現時間的大小比較。
示例:
SELECT * FROM users WHERE create_time >= CURRENT_TIMESTAMP() - INTERVAL 1 DAY
這個語句表示查詢出最近一天注冊的用戶。
比較方法——NOW()
NOW()函數也可以返回當前系統時間,并且以時間戳的形式存儲。但是它不像CURRENT_TIMESTAMP()函數一樣,有時區的概念。如果想要精確地比較當前時間和指定時間,可以使用NOW()函數。
示例:
SELECT * FROM users WHERE create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
這個語句表示查詢出最近一天注冊的用戶,與第一個示例相同。
MySQL時間戳的小問題
雖然時間戳比較方便,但是在MySQL中有一些小問題。MySQL當中的時間戳是以32位整數存儲的,所以無法存儲1970年1月1日之前的時間,并且在2038年1月19日03:14:07之后也無法存儲時間。如果需要存儲更遠的時間,需要使用其他存儲時間的方法。
上一篇HTML實體符號代碼大全
下一篇mysql 和int