比如說:
Data Type | “Zero” Value |
DATETIME | '0000-00-00 00:00:00' |
DATE | '0000-00-00' |
TIMESTAMP | '0000-00-00 00:00:00' |
TIME | '00:00:00' |
YEAR | 0000 |
但我最愛用的還是... unixtime
unixtime是一組數字,指的是從1970-01-01 00:00:00 到指字的時間點的秒數。
那為何我說這個方便呢?
因為計算快速吧!
unixtime可以很快的算出時間差,不需要用到很多內建函數(內建函數很多,但很長,很難記,查詢效率也未必高):
那資料型態要怎麼設定呢?
但這個格式也是有缺點的,就是閱讀不容易。
但只要用函數即可轉變成可讀的格式。
例如: select from_unixtime(1234567);
unixtime可以很快的算出時間差,不需要用到很多內建函數(內建函數很多,但很長,很難記,查詢效率也未必高):
- 算出一天後的時間 time() + 86400
- 算出這個會員一個月後到期的時間 time()+86400*30
那資料型態要怎麼設定呢?
- 如果是記錄當下的時間(登入時間,到期日等等),就記 int unsinged
- 如果範圍更大,低於1970,(比如說記錄歷史事件,或是800年後的事),就記medium int
但這個格式也是有缺點的,就是閱讀不容易。
但只要用函數即可轉變成可讀的格式。
例如: select from_unixtime(1234567);