標籤:
1、datetime,date,time,year四個類型的值,可以手動輸入,也可以調用函數獲得值
① 手動輸入,格式如下:
datetime "2016-6-22 14:09:30"
date "2016-6-22"
time "14:09:30"
year "2016"
如上所述,手動輸入的時候,直接可以輸入如上格式的字串,注意需要加引號。其中日期和時間中的分隔字元(日期的虛線"-",時間的冒號":"),都可以用別的符號來代替,如“2016/6/22 14/9/30”
② 用函數擷取值,可以直接使用now()函數來擷取當前的時間
2、timestamp類型的值,可以不用輸入,資料庫會自動填滿
範例程式碼:
/*建立表*/
mysql> create table time_table( -> dt datetime, -> d date, -> t time, -> y year, -> ts timestamp -> );Query OK, 0 rows affected (0.05 sec)
/*查看錶結構*/mysql> desc time_table;+-------+-----------+------+-----+-------------------+-----------------------------+| Field | Type | Null | Key | Default | Extra |+-------+-----------+------+-----+-------------------+-----------------------------+| dt | datetime | YES | | NULL | || d | date | YES | | NULL | || t | time | YES | | NULL | || y | year(4) | YES | | NULL | || ts | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |+-------+-----------+------+-----+-------------------+-----------------------------+5 rows in set (0.01 sec)
/*手動插入資料,ts資料為null*/mysql> insert into time_table(dt,d,t,y,ts) values("2016-6-22 11:57:30","2016/6/22","11:57:30","2016",null);Query OK, 1 row affected (0.01 sec)
/*手動插入資料,沒有為ts提供資料*/mysql> insert into time_table(dt,d,t,y) values("2016-6-22 11:57:30","2016/6/22","11:57:30","2016"); Query OK, 1 row affected (0.00 sec)
/*利用now()函數提供資料,為y欄位手動輸入資料,沒有為ts提供資料*/mysql> insert into time_table(dt,d,t,y) values(now(),now(),now(),‘2016‘);Query OK, 1 row affected, 1 warning (0.00 sec)
/*手動插入資料,日期時間分隔字元更換為“/”,依然沒有為ts提供資料*/mysql> insert into time_table(dt,d,t,y) values ("2016/6/22 14/10/30","2016/6/22","14:10:30","2016");Query OK, 1 row affected (0.00 sec)
/*查看資料*/mysql> select * from time_table;+---------------------+------------+----------+------+---------------------+| dt | d | t | y | ts |+---------------------+------------+----------+------+---------------------+| 2016-06-22 11:57:30 | 2016-06-22 | 11:57:30 | 2016 | 2016-06-22 11:58:00 || 2016-06-22 11:57:30 | 2016-06-22 | 11:57:30 | 2016 | 2016-06-22 11:59:05 || 2016-06-22 13:58:54 | 2016-06-22 | 13:58:54 | 2016 | 2016-06-22 13:58:54 || 2016-06-22 14:10:30 | 2016-06-22 | 14:10:30 | 2016 | 2016-06-22 14:11:58 |+---------------------+------------+----------+------+---------------------+4 rows in set (0.00 sec)
mysql中的時間類型datetime,date,time,year,timestamp小知識點