数据库5.7 日期有时间类型

简介: 简介日期与时间类型mysql中有多种表示日期的数据类型,主要有:DATETIME DATE TIMESTAMP,DATE .每一个类型都有合法的取值范围,当指定确实不合法的值时系统将“零”值插入到数据库中。

简介


日期与时间类型


mysql中有多种表示日期的数据类型,主要有:DATETIME DATE TIMESTAMP,DATE .每一个类型都有合法的取值范围,当指定确实不合法的值时系统将“零”值插入到数据库中。


2c969c9da2bdc6f5ca0f223df6fb57cc.png-wh_


  1. YEAR

  2. YEAR类型是一个单字节类型用于表示年,在存储时只需要1个字节。可以使用各种格式指定YEAR值,如下所示:

(1)以4位字符串或者四位数字格式表示的YEAR,范围为‘1901’-‘2155’。输入格式‘YYYY’或者YYYY,列如,输入‘2010’或2010,插入到数据库的值均为2010.

(2)以2位字符串格式表示的YEAR,范围为‘00’到‘99’。‘00-‘69’和‘70’-‘99’范围的值分别被转换为2000-2069和1970-1999范围的YEAR值。‘0’与‘00’的作用相同。插入超过取值范围的值将转被换位2000.

(3)以2位数字表示的YEAR,范围为1-99。1-69和70-99范围值分别为转换为2001-2069和1970-1999的范围YEAR值。


实例:创建数据表tmp3,定义数据类型为YEAR的字段y,向表中插入值2010,‘2010’‘2016’,sql语句如下:

5fd0fdf53926e4f2bfac9c6db3cac105.png-wh_

首先创建表TMP3;

2d0208b37ff01d92232447be86d6cadb.png-wh_

向表中插入数据;

语句执行后,MYSQL给出了一条错误提示,使用show查看错误信息:

d6963070456fe4945ecc71be37d7f7f5.png-wh_

可以看到,插入的第三个值2166超过了YEAR类型的取值范围,此时不能正常执行插入操作,查看结果:

48b9be82f97332a228d0195fe1f39041.png-wh_

由结果可以看到,当插入为数值类型的2010或者字符串类型的‘2010’时,都正确的存储到了数据库中;为当插入值‘2166’时,由于超出了YEAR类型的取值范围,因此,不能插入值。


例:5向tmp3表中y字段插入2位字符串表示的YEAR值,分别为‘0’,‘00’‘77’和‘10’,SQL语句如下:

首先删除表中数据;

DELETE FROM tmp3

bea7a70246c8b07d1fffab66ba355842.png-wh_

由结果可以看到,字符串‘0’和‘00’的作用相同,分别都转换成了2000年;‘77’转换为1977;‘10’转换为2010.


首先删除表中数据:

fc9853ca9527c503fe7165a3d1558545.png-wh_

由结果可以看到,0被转换为0000;78被转换为1978;11被转换为2011.


总结!数据库应该多练习孰能生巧!

目录
相关文章
|
2月前
|
JSON 前端开发 Java
数据库中的时间和前台展示的时间不一样,如何保存日期格式的数据到数据库? 如何展示数据库的日期数据到前台
这篇文章讨论了前端展示时间和数据库时间不一致的问题,并提供了解决方法,包括在SpringBoot的`application.properties`中配置时区和日期格式,以及如何将日期数据格式化后保存到数据库中。
数据库中的时间和前台展示的时间不一样,如何保存日期格式的数据到数据库? 如何展示数据库的日期数据到前台
|
3月前
|
数据库
uniapp 【专题详解 -- 时间】云数据库时间类型设计,时间生成、时间格式化渲染(uni-dateformat 组件的使用)
uniapp 【专题详解 -- 时间】云数据库时间类型设计,时间生成、时间格式化渲染(uni-dateformat 组件的使用)
124 0
|
5月前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
4月前
|
存储 Java 关系型数据库
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
38 0
|
5月前
|
关系型数据库 MySQL Java
mysql数据库处理TIMESTAMP格式日期
该内容提到了关于MySQL数据库处理TIMESTAMP格式日期的解决方案。首先,引用了两篇CSDN博客文章,一篇是关于使用MyBatis在MySQL中添加或修改TIMESTAMP日期的,另一篇是关于将Oracle的TIMESTAMP字段通过MyBatis插入到数据库的。接着,提到一个错误信息,说明MySQL表中不能有多个TIMESTAMP列。然后,展示了如何设置数据库字段(ctime和mtime)自动记录创建和更新时间,并提供了对应的mapper文件和Java字段定义,以实现业务代码中无需手动设置这些时间戳。
70 2
|
SQL 存储 Oracle
Oracle数据库中日期的操作、主键自增与分页查询
Oracle数据库中日期的操作、主键自增与分页查询
105 0
|
10月前
|
SQL 关系型数据库 MySQL
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
69 0
|
存储 数据可视化 关系型数据库
数据库时间类型数据的处理
数据库时间类型数据的处理
60 0
|
Oracle 关系型数据库 数据库
Oracle 数据库中常见的日期和时间函数
Oracle 数据库中常见的日期和时间函数
190 0
|
前端开发 数据库
后端数据库中返回date日期时 前端显示为一串数字
后端数据库中返回date日期时 前端显示为一串数字
下一篇
无影云桌面