DATETIME與TIMESTAMP
阿新 • • 發佈:2018-12-13
DATETIME與TIMESTAMP都能表達一個完整的日期格式:YYYY-MM-DD HH:MM:SS[.fraction]
eg:
mysql> create table test(id int,hiredate timestamp); Query OK, 0 rows affected (0.01 sec) mysql> insert into test values(1,'20151208000000'); Query OK, 1 row affected (0.00 sec) mysql> create table test1(id int,hiredate datetime); Query OK,View Code0 rows affected (0.01 sec) mysql> insert into test1 values(1,'20151208000000'); Query OK, 1 row affected (0.00 sec) mysql> select * from test; +------+---------------------+ | id | hiredate | +------+---------------------+ | 1 | 2015-12-08 00:00:00 | +------+---------------------+ row in set (0.01 sec) mysql> select * from test1; +------+---------------------+ | id | hiredate | +------+---------------------+ | 1 | 2015-12-08 00:00:00 | +------+---------------------+ row in set (0.00 sec)
注意傳入的時候是YYYYMMDDHHMMSS的格式,查詢時都是YYYY-MM-DD HH:MM:SS的格式
區別:
1. 儲存方式
TIMESTAMP把客戶端插入的時間從當前時區轉化為UTC(世界標準時間)進行儲存
而對於DATETIME,不做任何改變,基本上是原樣輸入和輸出。
2. 兩者所能儲存的時間範圍不一樣
timestamp所能儲存的時間範圍為:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。
datetime所能儲存的時間範圍為:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。
3. 對於跨時區的業務,TIMESTAMP更為合適。
一般情況下用timestamp足矣,更靈活,時間範圍也夠。