時間 Time

MySQL 資料類型 Data Type: 時間 Time

date

格式:YYYY-MM-DD

e.g. 2016-01-01

datetime

格式:YYYY-MM-DD HH:MM:SS

e.g. 2016-01-01 23:59:59

時間範圍:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

timestamp

格式:YYYY-MM-DD HH:MM:SS

e.g. 2016-01-01 23:59:59

時間範圍:1970-01-01 00:00:00 ~ 2038-01-09 03:14:07

datetime 與 timestamp 差異

  • timestamp 會受時區影響,當時區不一樣則顯示時間會不一樣
  • datetime 保存為絕對值資料,不隨時區影響
  • 儲存空間
    • timestamp: 4 bytes
    • timestamp: 8 bytes
  • 時間範圍
    • timestamp: 1970-01-01 00:00:00 ~ 2038-01-09 03:14:07
    • datetime: 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
  • 索引速度
    • timestamp > datetime
    • 蠻合理的,畢竟儲存的空間差異一倍,需要比較的東西比較多

參考資料