根據(jù)保存的數(shù)據(jù)類(lèi)型不同,有不同的處理方式,常見(jiàn)的有兩種保存形式:
- 時(shí)間戳int
- 日期時(shí)間datetime
時(shí)間戳
早期一直在使用的方式嘱腥,缺點(diǎn):
- 在數(shù)據(jù)庫(kù)中不直觀
- 查詢(xún)的時(shí)候涉及到轉(zhuǎn)換
例如在查詢(xún)的時(shí)候需要將日期時(shí)間轉(zhuǎn)化為時(shí)間戳:
where created_at < UNIX_TIMESTAMP('2018-9-28 00:00:00')
UNIX_TIMESTAMP()可以直接表示當(dāng)前的時(shí)間戳
時(shí)間戳轉(zhuǎn)化為日期時(shí)間:
SELECT FROM_UNIXTIME(875996580)
FROM_UNIXTIME第二個(gè)參數(shù)用于指定日期格式,例如:
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
日期時(shí)間
可以直接進(jìn)行比較
格式轉(zhuǎn)化:
DATE_FORMAT()
SELECT SUM(price), DATE_FORMAT(created_at, '%m%d') as day FROM table GROUP BY day