【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(网易)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值