MySQL DATE类型的用法(附带实例)
MySQL 中的 DATE 类型用在仅需要日期值时,没有时间部分,在存储时需要 3 字节,日期格式为:
在给 DATE 类型的字段赋值时,可以使用字符串类型或者数字类型,只要符合 DATE 的日期格式即可。
1) 以“YYYY-MM-DD”或者“YYYYMMDD”字符串格式表示的日期,取值范围为 1000-01-01~9999-12-3。例如,输入“2012-12-31”或者“20121231”,插入数据库的日期都为 2012-12-31。
2) 以“YY-MM-DD”或者“YYMMDD”字符串格式表示的日期,这里 YY 表示两位的年值。MySQL 使用以下规则解释两位年值:
例如,输入“12-12-31”,插入数据库的日期为 2012-12-31;输入“981231”,插入数据的日期为 1998-12-31。
3) 以 YY-MM-DD 或者 YYMMDD 数字格式表示的日期。与前面类似,00~69 范围的年值被转换为 2000~2069,70~99 范围的年值被转换为 1970~1999。
例如输入
4) 使用 CURRENT_DATE 或者 NOW(),插入系统当前日期。
【实例 1】创建数据表 tmp5,定义数据类型为 DATE 的字段 d,向表中插入“YYYY-MM-DD”和“YYYYMMDD”字符串格式的日期。
1) 创建表tmp5:
2) 向表中插入“YYYY-MM-DD”和“YYYYMMDD”格式的日期:
3) 查看插入结果:
【实例 2】向表 tmp5 中插入“YY-MM-DD”和“YYMMDD”字符串格式的日期。
1) 删除表中的数据:
2) 向表中插入“YY-MM-DD”和“YYMMDD”格式的日期:
3) 查看插入结果:
【实例 3】向表 tmp5 中插入 YYYYMMDD 和 YYMMDD 数字格式日期。
1) 删除表中的数据:
2) 向表中插入 YYYYMMDD 和 YYMMDD 格式的日期:
3) 查看插入结果:
【实例 4】向表 tmp5 中插入系统当前日期。
1) 删除表中的数据:
2) 向表中插入系统当前日期:
3) 查看插入结果:
YYYY-MM-DD其中,YYYY 表示年,MM 表示月,DD 表示日。
在给 DATE 类型的字段赋值时,可以使用字符串类型或者数字类型,只要符合 DATE 的日期格式即可。
1) 以“YYYY-MM-DD”或者“YYYYMMDD”字符串格式表示的日期,取值范围为 1000-01-01~9999-12-3。例如,输入“2012-12-31”或者“20121231”,插入数据库的日期都为 2012-12-31。
2) 以“YY-MM-DD”或者“YYMMDD”字符串格式表示的日期,这里 YY 表示两位的年值。MySQL 使用以下规则解释两位年值:
- 00~69 范围的年值被转换为 2000~2069;
- 70~99 范围的年值被转换为 1970~1999。
例如,输入“12-12-31”,插入数据库的日期为 2012-12-31;输入“981231”,插入数据的日期为 1998-12-31。
3) 以 YY-MM-DD 或者 YYMMDD 数字格式表示的日期。与前面类似,00~69 范围的年值被转换为 2000~2069,70~99 范围的年值被转换为 1970~1999。
例如输入
12-12-31
,插入数据库的日期为 2012-12-31;输入 981231
,插入数据库的日期为 1998-12-31。4) 使用 CURRENT_DATE 或者 NOW(),插入系统当前日期。
【实例 1】创建数据表 tmp5,定义数据类型为 DATE 的字段 d,向表中插入“YYYY-MM-DD”和“YYYYMMDD”字符串格式的日期。
1) 创建表tmp5:
MySQL> CREATE TABLE tmp5(d DATE);
2) 向表中插入“YYYY-MM-DD”和“YYYYMMDD”格式的日期:
MySQL> INSERT INTO tmp5 values('1998-08-08'),('19980808'),('20101010');
3) 查看插入结果:
MySQL> SELECT * FROM tmp5; +------------+ | d | +------------+ | 1998-08-08 | | 1998-08-08 | | 2010-10-10 | +------------+可以看到,各个不同类型的日期值都被正确地插入数据表中。
【实例 2】向表 tmp5 中插入“YY-MM-DD”和“YYMMDD”字符串格式的日期。
1) 删除表中的数据:
DELETE FROM tmp5;
2) 向表中插入“YY-MM-DD”和“YYMMDD”格式的日期:
mysql> INSERT INTO tmp5 values ('99-09-09'),( '990909'), ('000101') ,('111111');
3) 查看插入结果:
mysql> SELECT * FROM tmp5; +-------------+ | d | +-------------+ | 1999-09-09 | | 1999-09-09 | | 2000-01-01 | | 2011-11-11 | +-------------+
【实例 3】向表 tmp5 中插入 YYYYMMDD 和 YYMMDD 数字格式日期。
1) 删除表中的数据:
DELETE FROM tmp5;
2) 向表中插入 YYYYMMDD 和 YYMMDD 格式的日期:
mysql> INSERT INTO tmp5 values (19990909),(990909), ( 000101) ,( 111111);
3) 查看插入结果:
mysql> SELECT * FROM tmp5; +-------------+ | d | +-------------+ | 1999-09-09 | | 1999-09-09 | | 2000-01-01 | | 2011-11-11 | +-------------+
【实例 4】向表 tmp5 中插入系统当前日期。
1) 删除表中的数据:
DELETE FROM tmp5;
2) 向表中插入系统当前日期:
mysql> INSERT INTO tmp5 values( CURRENT_DATE() ),( NOW() );
3) 查看插入结果:
mysql> SELECT * FROM tmp5; +-------------+ | d | +-------------+ | 2024-08-09 | | 2024-08-09 | +-------------+CURRENT_DATE 只返回当前日期值,不包括时间部分;NOW() 函数返回日期和时间值,在保存到数据库时,只保留日期部分。
相关文章
- MySQL日期类型(DATETIME、DATE、TIMESTAMP、TIME和YEAR)
- MySQL DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和时间类型)
- MySQL DATE_FORMAT函数:格式化指定的日期
- MySQL DATE_ADD和ADDDATE函数:向日期添加指定时间间隔
- MySQL DATE_SUB和SUBDATE函数:日期减法运算
- MySQL DATE_FORMAT()函数的用法
- MySQL CURDATE和CURRENT_DATE函数:获取系统当前日期
- MySQL 5.7的新特性(新功能)
- MySQL安装教程,包含所有平台(图解)
- MySQL的版本以及版本号