【MySQL資料型別2之--日期時間型別】
MySQL日期時間型別大致可以分成(5.0版本):
DATE:4位元組 1000-01-01 ----9999-12-31
TIME:3位元組 -839:59:59 -----839:59:59
YEAR:1位元組 1901-----2155
DATETIME:8位元組 1000-01-01 00:00:00 -------- 9999-12-31 23:59:59
TIMESTAMP:4位元組 19700101080001 -------2038年某個時刻
使用小例:
1.DATE、TIME、DATETIME的簡單使用
mysql>create table test(t1 date,t2 time,t3 datetime);
mysql>insert test values(now(),now(),now());
mysql> select * from test;
+------------+----------+---------------------+
| t1 | t2 | t3 |
+------------+----------+---------------------+
| 2010-05-14 | 15:55:38 | 2010-05-14 15:55:38 |
+------------+----------+---------------------+
2.YEAR的範圍應用
mysql> create table test2(t year);
mysql> insert test2 values(02),(89);
mysql> select * from test2;
+------+
| t |
+------+
| 2002 |
| 1989 |
+------+
在插入年份遇到2位數的時候,因為存在年份重疊,有如下規定:00--69 表示 2000-2069
70-99 表示 1970-1999
3.TIMESTAMP的使用
create table test3(value int,t1 timestamp,t2 timestamp);
insert test3 values(1,null,null);
mysql> select * from test3;
+-------+---------------------+---------------------+
| value | t1 | t2 |
+-------+---------------------+---------------------+
| 1 | 2010-05-14 16:06:52 | 2010-05-14 16:06:52 |
+-------+---------------------+---------------------+
insert test3 values(2,default,default);
mysql> select * from test3;
+-------+---------------------+---------------------+
| value | t1 | t2 |
+-------+---------------------+---------------------+
| 1 | 2010-05-14 16:06:52 | 2010-05-14 16:06:52 |
| 2 | 2010-05-14 16:07:30 | 0000-00-00 00:00:00 |
+-------+---------------------+---------------------+
注意這裡的第二個TIMESTAMP欄位預設值為0而且它不可以將預設值設定為CURRENT_TIMESTAMP,因為在它之前已經有一個一樣型別的欄位了。
注意:timestamp屬性的欄位插入和顯示的值會轉化成本地時區的時間。
先改變本機時區
mysql> set time_zone='+9:00';
mysql> select * from test3;
+-------+---------------------+---------------------+
| value | t1 | t2 |
+-------+---------------------+---------------------+
| 1 | 2010-05-14 17:06:52 | 2010-05-14 17:06:52 |
| 2 | 2010-05-14 17:07:30 | 0000-00-00 00:00:00 |
+-------+---------------------+---------------------+
跟上面的現實相比 你會發現 時間值延後了一個小時,因為東九區比東八區快了一個小時
mysql> set time_zone='+8:00';
參考文獻:深入淺出MYSQL(網易)
相關文章
- Mysql資料庫學習(二):資料型別(數值型別 日期和時間型別 字串型別)MySql資料庫資料型別字串
- XSD 日期和時間資料型別資料型別
- Mysql 基礎資料型別(無時間相關型別)MySql資料型別
- Mysql 資料型別之整數型別MySQL 資料型別
- 【MySQL資料型別3之--字元型別】MySql資料型別字元
- 【MySQL資料型別1之--數值型別】MySql資料型別
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- 【Mysql 學習】時間型別MySql型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- Hibernate、JAVA、SQL對應基本日期、時間資料型別JavaSQL資料型別
- MYSQL 資料型別MySQL 資料型別
- [Mysql]資料型別MySql資料型別
- MySQL資料型別MySql資料型別
- 時間型別型別
- MySql與Java的時間型別MySqlJava型別
- 資料型別2資料型別
- mysql 時間型別秒級資料,取分鐘資料方案MySql型別
- NSData之間資料型別轉化資料型別
- SQL SERVER 日期和時間資料型別及函式 (Transact-SQL)SQLServer資料型別函式
- 字元型別轉換成時間型別字元型別
- MySQL 的資料型別MySql資料型別
- 理解MySQL資料型別MySql資料型別
- MySQL的資料型別MySql資料型別
- MySQL基本資料型別MySql資料型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- Java 資料型別之間的轉換Java資料型別
- (2)mysql 支援的資料型別總結MySql資料型別
- ORACLE日期型別Oracle型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(一)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(二)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(三)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(四)Oracle資料型別
- NumPy之:資料型別資料型別
- Hive之 資料型別Hive資料型別
- PostgreSQLMySQL相容性之-時間型別MySql型別
- SQL資料型別和C#資料型別間的轉換SQL資料型別C#
- 時間型別和時間戳型別時間戳
- [Mysql] 3.Mysql 資料型別MySQL 資料型別