MySQL数据库的基本数据类型(4)

linuxidc_image020

CURRENT_DATE只返回当前日期值,不包括时间部分;NOW()函数返回日期和时间值,在保存到数据库时,只保留了其日期部分。

MySQL允许“不严格”语法:任何标点符号都可以用作日期部分之间的间隔符。例如,’98-11-31’、’98.11.31’、’98/11/31’和’98@11@31’是等价的,这些值也可以正确的插入到数据库。

DATETIME数据类型测试案例:

创建数据表tmp6,定义数据类型为DATETIME的字段dt,向表中插入"YYYY-MM-DD HH:MM:SS”和"YYYYMMDDHHMMSS”字符串格式日期和时间值,SQL语句如下:

首先创建表tmp6:

CREATE TABLE tmp6( dt DATETIME );

向表中插入“YYYY-MM-DD HH:MM:SS”和“YYYYMMDDHHMMSS”格式日期:

INSERT INTO tmp6 values('1998-08-08 08:08:08'),('19980808080808'),('20101010101010');

查看插入结果:

SELECT * FROM tmp6;

linuxidc_image021

可以看到,各个不同类型的日期值都正确的插入到了数据表中。DATETIME占用8字节,是占用空间最多的一种日期类型。它既显示了日期,同时也显示了时间。其可以表达的日期范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。

在MySQL 5.5版本之前(包括5.5版本),数据库的日期类型不能精确到微秒级别,任何的微秒数值都会被数据库截断。

不过MySQL数据库提供了函数MICROSECOND来提取日期中的微秒值

linuxidc_image022

向tmp6表中插入“YY-MM-DD HH:MM:SS”和“YYMMDDHHMMSS”字符串格式日期和时间值,SQL语句如下:

首先删除表中的数据:

DELETE FROM tmp6;

向表中插入“YY-MM-DD HH:MM:SS”和“YYMMDDHHMMSS”格式日期:

INSERT INTO tmp6 values('99-09-09 09:09:09'),('990909090909'),('101010101010');

查看插入结果:

SELECT * FROM tmp6;

linuxidc_image023

向tmp6表中插入YYYYMMDDHHMMSS 和YYMMDDHHMMSS数字格式日期和时间值,SQL语句如下:

首先删除表中的数据:

DELETE FROM tmp6;

向表中插入YYYYMMDDHHMMSS和YYMMDDHHMMSS数字格式日期和时间:

INSERT INTO tmp6 values(19990909090909), (101010101010);

查看插入结果:

SELECT * FROM tmp6;

linuxidc_image024

向tmp6表中插入系统当前日期和时间值,SQL语句如下:

首先删除表中的数据:

DELETE FROM tmp6;

向表中插入系统当前日期:

INSERT INTO tmp6 values( NOW() );

查看插入结果:

SELECT * FROM tmp6;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fd3beaf12212e6812c6a415af61ed7be.html