MySQL数据类型 -- 日期时间型

栏目: 数据库 · 发布时间: 6年前

内容简介:版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/82824107

版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/82824107

MySQL 关系型数据库中,MySQL支持的数据类型非常丰富。它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍日期时间类型,并演示其用法。

一、日期时间型

MySQL支持的日期时间类型可以进一步细分,即可以分为日期型,时间型,日期时间型,时间戳等。如下图所示:

MySQL数据类型 -- 日期时间型

二、日期时间型存储需求

MySQL数据类型 -- 日期时间型

三、日期时间型零值显示

MySQL数据类型 -- 日期时间型

四、日期时间型演示

mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.7.22-log |
+---------------+------------+

mysql> CREATE TABLE tb_date_time
    -> (
    -> col1 date,
    -> col2 time,
    -> col3 datetime,
    -> col4 timestamp DEFAULT current_timestamp
    -> );
Query OK, 0 rows affected (0.17 sec)

mysql> select 'Leshami' as Author
    -> union all
    -> select 'http://blog.csdn.net/leshami';
+------------------------------+
| Author |
+------------------------------+
| Leshami |
| http://blog.csdn.net/leshami |
+------------------------------+

mysql> INSERT INTO tb_date_time(col1, col2, col3)
    -> VALUES (now(), now(), now());
Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> SELECT * FROM tb_date_time;
+------------+----------+---------------------+---------------------+
| col1 | col2 | col3 | col4 |
+------------+----------+---------------------+---------------------+
| 2018-09-23 | 18:07:13 | 2018-09-23 18:07:13 | 2018-09-23 18:07:13 |
+------------+----------+---------------------+---------------------+
1 row in set (0.00 sec)

-- 查看系统日期时间
mysql> system date
Sun Sep 23 18:08:18 CST 2018

-- 在mysql层临时修改一下时区,假定在这里修改为+7时区
mysql> set time_zone='+7:00';
Query OK, 0 rows affected (0.00 sec)

-- 再次查看表,col4列上的时间则提前了一小时
-- 也即是时区会影响时间戳列

mysql> SELECT * FROM tb_date_time;
+------------+----------+---------------------+---------------------+
| col1 | col2 | col3 | col4 |
+------------+----------+---------------------+---------------------+
| 2018-09-23 | 18:07:13 | 2018-09-23 18:07:13 | 2018-09-23 17:07:13 |
+------------+----------+---------------------+---------------------+

注意对比TIMESTAMP与DATETIME
TIMESTAMP需要4个字节,而DATETIME需要5个字节。 
TIMESTAMP和DATETIME都需要额外的字节来获得小数秒的精度。
TIMESTAMP值的范围为1970-01-01 00:00:01 UTC至2038-01-19 03:14:07 UTC。 
如果要存储超过2038的时间值,则应使用DATETIME而不是TIMESTAMP。

-- 查看当前时间
mysql> SET @dt = NOW();
Query OK, 0 rows affected (0.03 sec)

mysql> SELECT @dt;
+---------------------+
| @dt |
+---------------------+
| 2018-09-23 18:08:28 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE(@dt);
+------------+
| DATE(@dt) |
+------------+
| 2018-09-23 |
+------------+
1 row in set (0.00 sec)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度探索C++对象模型(影印版)

深度探索C++对象模型(影印版)

Stanley B. Lippman / 中国电力出版社 / 2003-8-1 / 42.00

本书重点介绍了C++面向对象程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承和虚拟——虚拟函数和虚拟继承。书中向你表明:理解底层实现模型,可以极大地提高你的编码效率。Lippman澄清了那些关于C++系统开销与复杂性的各种错误信息和猜测,指出了其中某些成本和利益交换确实存在。他在书中详述了各种实现模型,指出了它们的发展方向以及促使其发展的根本原因。本书涵盖了C++对象模型的语意暗示......一起来看看 《深度探索C++对象模型(影印版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试