根據儲存的資料類型不同,有不同的處理方式,常見的有兩種儲存形式:
- 時間戳int
- 日期時間datetime
時間戳
早期一直在使用的方式,缺點:
- 在資料庫中不直覺
- 查詢的時候涉及到轉換
例如在查詢的時候需要将日期時間轉化為時間戳:
where created_at < UNIX_TIMESTAMP('2018-9-28 00:00:00')
UNIX_TIMESTAMP()可以直接表示目前的時間戳
時間戳轉化為日期時間:
SELECT FROM_UNIXTIME(875996580)
FROM_UNIXTIME第二個參數用于指定日期格式,例如:
SELECT SUM(price), FROM_UNIXTIME(created_at, '%m%d') as day FROM table GROUP BY day
... WHERE FROM_UNIXTIME(created_at, '%Y') = '2018'
常用的格式是這樣的:
%Y%m%d%H%i%s
日期時間
可以直接進行比較
格式轉化:
DATE_FORMAT()
SELECT SUM(price), DATE_FORMAT(created_at, '%m%d') as day FROM table GROUP BY day