首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL时间类型

时间是一类重要数据,MySQL中有多种关于时间类型可以选择。...时间类型MySQL时间类型有三大类:日期(Date)、时间(Time)和年(Year)。...UTC时间,返回时再转换回当前时区;默认情况下连接时区就是服务器时区,当然每个连接也可以设置自己时区;TIME类型还可以用来表示时间间隔;合法但是超过范围TIME值会保存为最近边界值,比如-850...,但是当时区不同时,应该显式设置连接时区;客户端传递给服务器TIMESTAMP值,服务器会先转换成UTC时间戳存储;当客户端查询时,再转换成客户端时区值;其它时间相关类型没有时区信息。...时间类型实践接下来我们从实践角度,看看时间类型使用。3.1 时间类型选择MySQL五种时间类型,在我们应用中该如何选择呢?

10.5K52
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL时间类型差异

文章目录[隐藏] 时间格式化 DATETIME TIMESTAMP DATE TIME YEAR 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD...如果实际应用中有这样需求,就可以使用 DATETIME 类型。 DATETIME列可以设置为多个,默认可为null,可以手动设置其值。 DATETIME列不可设定默认值。...表中第一个 TIMESTAMP 列自动设置为系统时间(CURRENT_TIMESTAMP)。当插入或更新一行,但没有明确给 TIMESTAMP 列赋值,也会自动设置为当前系统时间。...如果表中有第二个 TIMESTAMP 列,则默认值设置为0000-00-00 00:00:00。 TIMESTAMP 属性受 Mysql 版本和服务器 SQLMode 影响较大。...YEAR YEAR 用于表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式年。 默认是4位。如果实际应用只保存年份,那么用 1 bytes 保存 YEAR 类型完全可以。

2.6K20

MySQL日期时间类型

日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体取值范围,超出或非法其他值时,MySQL 会回退到 0。...TIMESTAMP 类型是个例外,给它设置一个超出范围值时,将保存上该类型允许最大值。...MySQL 按标准格式 YYYY-MM-DD hh:mm:ss[.fraction] 输出日期时间,但设置或进行日期时间相关比较时却支持灵活多种格式,会自动解析。...通过设置 MySQL 相关参数,日期类型可保存原本非法值,比如开启 ALLOW_INVALID_DATES 设置项时,可设置日期类型保存一个 2009-11-31 值,但正常情况下我们知道 11 月哪来什么...比如给一个日期格式设置 10:11:12,虽然这个值看起来像时间类型,但还是可以正确在被解析成目标列格式,即日期。

6.7K20

mysql 字段时间类型比较

字段时间类型分为: ,,,,; 下面就分别介绍这几种时间类型区别 每个时间类型都有一个有效范围和一个零值,当指定类型值超过有效范围时,就会使用零值 YEAR 该类型表示年,格式为 有三种表示方法...:分:秒,尽管时间范围为0~23,但是为了表示某些特殊时间,mysql将小时范围扩大了,并且支持负值。....我们可以通过获取当前值 DATE 该类型表示年-月-日,标准格式为,但是中还支持一些不严谨格式:比如等其他符号来分割 在插入数据数据也可以使用 年份转换和上面的类型规则一样 可以使用...函数获取当前值 DATETIME 该类型表示YYYY-MM-DD hh:mm:ss,可以看出和类型结合体.所以赋值规则时和上面和时一样 TIMESTAMP 该类型表示为YYYY-MM DD hh...哈哈,到年后就别用这个类型了 这只是一个简单区分说明,具体时间类型说明 请参考 官方文档 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html

4.6K80

MySQL中数字类型、数值类型时间类型

本文链接:https://blog.csdn.net/weixin_38004638/article/details/96135519 一、数字类型 类型 范围 说明 Char(...(1,0) habby set(‘玩电玩’,'睡觉’,'看电影’,'听音乐’) Set 集合最大数目为64 辨別Null与Not Null :Null为允许储存空值(Null) 二、数值 类型...2是能存储最小显示长度,如果插入数据不够2位时,需要在数据前面用0补满2位。比如定义一个age字段,其数据类型为int(4),那用select查询出来结果是“0002”。...tinyint使用范围是0到255整型数据,存储大小为1字节。int使用范围是0到4294967295,存储大小为4个字节。tinyint所占内存小,作用范围也小。...三、日期时间 类型 范围 说明 Date 日期(yyyy-mm-dd) Time 时间(hh:mm:ss) DateTime 日期与时间組合(yyyy-mm-dd hh:mm:

3K20

mysql】日期与时间类型

日期与时间类型 日期与时间是重要信息,在我们系统中,几乎所有的数据表都用得到。原因是客户需要知道数据时间标签,从而进行数据查询、统计和处理。...MySQL有多种表示日期和时间数据类型,不同版本可能有所差异,MySQL8.0版本支持日期和时间类型主要有:YEAR类型、TIME类型、DATE类型、DATETIME类型和TIMESTAMP类型。...原因是 MySQL 设计 TIME 类型,不光表示一天之内时间,而且可以用来表示一个时间间隔,这个时间间隔可以超过 24 小时。 1....在MySQL中,向TIME类型字段插入数据时,也可以使用几种不同格式。...如果向TIMESTAMP类型字段插入时间超出了TIMESTAMP类型范围,则MySQL会抛出错误信息。 举例: 创建数据表,表中包含一个TIMESTAMP类型字段ts。

4K20

mysql varchar类型时间查询

mysql–varchar类型时间排序和查询某一个时间段信息 背景: 在实际操作中会经常将时间数据以 varchar 类型存入数据库,因为业务要求需要查询最近时间数据,所以需要根据时间排序 排序实例...SELECT * FROM 表名 ORDER BY 时间字段名 DESC; 降序 SELECT * FROM 表名 ORDER BY 时间字段名 ASC; 升序 SELECT * FROM 表名...ORDER BY 时间字段名; 升序 查询介于一个时间段之间信息实例 SELECT 字段名 FROM 表名 WHERE STR_TO_DATE(时间字段名, '%Y-%m-%d...') BETWEEN STR_TO_DATE(起始时间, '%Y-%m-%d') AND STR_TO_DATE(结束时间, '%Y-%m-%d') ORDER BY STR_TO_DATE(时间字段名..., '%Y-%m-%d') DESC; 注意 STR_TO_DATE(str, format)函数是DATE_FORMAT()函数反函数。

5K10

mysql 关于时间类型刨坑之路

问题背景 前两天有做一个基于binglog数据库实时同步,一张老数据表里有DATETIME、TIMESTAMP不同时间字段类型,看起来值都是一样,并且默认值都设置 0000-00-00 00:00...由于本人之前一直习惯使用int存储时间戳(问题相对比较少,容易处理),所以对这几个时间字段类型了解不是很多. 后来参考了今天分享这篇文档,终于有了一个基本认识。 ?...TIMESTAMP 和 DATETIME 类型提供了自动初始化和更新当前日期和时间。...默认情况下,每个连接的当前时区是服务器时间。在每个基础连接中时区都可以被设置。由于时区设置能保持不变,你也就能拿到你存储数值。...MySQL 对指定字符串格式要求比较宽松,在date部分和时间部份可以使用任何标点符号作为定界符。在一些事例中,这样语法可以欺骗你。

1.6K30

Mysql 时间类型精度截取bug

mysql-connector-java版本升级出现一次问题。涉及到了时间精度截取和四舍五入。 首先了解一点,timestamp,datetime如果不指定精度,默认精度是秒。...当mysql-connector-java版本<=5.1.22时,db客户端会将Datetime,Timestamp秒以下精度丢弃。...server端会对超出精度位数数据进行四舍五入,即插入db里是'2018-04-03 00:00:00 ' 所以说mysql-connector-java版本升级就带了时间与原本不一致问题,结合具体业务逻辑上使用...可以看出dbserver端果然会进行四舍五入。 再看一下mysql驱动里是怎么写,是否真的是截断精度了。...Mysql对于时间精度处理在com.mysql.jdbc.PreparedStatement#setTimestampInternal这个方法中 翻一下5.1.21源码看一下: private void

2.9K20

MySQL日期和时间类型笔记

最近在看《MySQL技术内幕:SQL编程》并做了笔记,这是一篇笔记类型博客,分享出来方便自己复习,也可以帮助其他人 一、日期时间类型所占空间对比 各种日期时间数据类型所占空间: 类型 所占空间 DATETIME...注意: 更新表时,可以设置TIMESTAMP类型列,自动更新时间为当前时间 列为TIMESTAMP日期类型可以设置一个默认值,而DATETIME不支持 例子,验证一下,设置默认值和自动更新时间...四、YEAR和TIME类型对比 YEAR类型占用1字节,书中介绍定义时可以指定显示宽度为YEAR(2)或者YEAR(4),不过在我mysql版本5.7+验证,发现只能定义为YEAR或者YEAR(4)...,也就是新版是不支持YEAR(2)这种形式 对于YEAR(4),其显示年份范围为1901~2155;然后超过这个范围的话,mysql还可以写,不过被赋值为0000 TIME类型只占3字节,显示范围为...函数 介绍一下MySQL比较常用NOW、CURRENT_TIMESTAMP和SYSDATE函数 给个例子,用sleep函数,然后对比sleep函数执行前后,这几个函数获取时间对比 SELECT NOW

1.8K10

MySQL数据类型--日期时间

一、博客前言   自接触学习MySQL已有一段时间了,对于MySQL基础知识还是有一定了解。...在这一路学习过来,每次不管看书还是网上看资料,对于MySQL数据类型时间日期类型总是一扫而过,不曾停下来认认真真的研究学习。...在我做项目里用到存贮时间数据,我都是采用int整型数据类型来存储,即是存储时间戳。但是在后面学习MySQL优化时候,就有一个原则就是存储数据时应采用最小占用空间数据类型。...二、时间日期数据类型总概况    MySQL中有多种表示时间日期数据类型,主要有YEAR、TIME、DATE、DATETIME、TIMESTAMP等。...四、小结   了解MySQL日期时间数据类型对于选取一种适合存储类型是很有必要

3.2K20

MySQL数据类型概述-时间

MySQL中,日期和时间数据类型用于存储日期、时间或日期时间值。日期和时间数据类型在查询和排序数据时非常有用,并且可以进行各种日期和时间计算。...MySQL支持多种日期和时间数据类型,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR。DATE类型DATE类型用于存储日期值,如年、月、日。...id列为整数类型,使用AUTO_INCREMENT属性来自动递增。date_of_birth列为DATE类型,用于存储出生日期。TIME类型TIME类型用于存储时间值,如小时、分钟、秒。...DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP属性将默认值设置为当前时间,并在更新行时自动更新时间戳。...id列为整数类型,使用AUTO_INCREMENT属性来自动递增。year_of_birth列为YEAR类型,用于存储出生年份。日期和时间类型可以用于比较、计算和格式化。

83730

MySQL关于时间设置注意事项

时间类型字段 MySQL时间类型字段: ?...(这不适用于其他类型,比如DATETIME。)默认情况下,每个连接的当前时区是服务器时间。时区可以在每个连接基础上设置。只要时区设置保持不变,就会返回所存储相同值。...对于STRICT_TRANS_TABLES, MySQL将一个无效值转换为最接近有效值,然后插入调整后值。如果缺少一个值,MySQL将为列数据类型插入隐式默认值。...设置会话时区会影响时区敏感时间显示和存储。这包括NOW()或CURTIME()等函数显示值,以及存储在时间戳列中值和从时间戳列检索到值。...这些数据类型值也不存储在UTC;时区仅在从时间戳值转换时适用它们。 备注:MySQL还提供时区导入到MySQL系统库方法。

1.9K20

MySQL 时间类型 DATE、DATETIME和TIMESTAMP

(2)对于TIMESTAMP,它把客户端插入时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。...into testtime values(1,'20151208000000'); insert into testtime1 values(1,'20151208000000'); 查看这种显示时区时间设置...查询命令 show variables like '%time_zone%'; 上述“CST”指的是MySQL所在主机系统时间,是中国标准时间缩写,China Standard Time UT...4.TIMESTAMP在新旧版本上重大区别 TIMESTAMP 在mysql 5.6.5之后,TIMESTAMP(fraction)中fraction代表是小数位数,即默认秒,以秒为单位小数点位数...TIMESTAMP(fraction)中fraction值显示尺寸格式如下表所示: 列类型 显示格式 TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS

2.8K30

MySQL笔记】数字类型时间和日期类型、字符串类型

‍ 哈喽大家好,本次是MySQL数据库原理系列第六期 ⭐本期是MySQL数据类型 系列专栏:MySQL数据库 笔者还是前端菜鸟,还请大家多多指教呀~ 欢迎大佬指正,一起学习,一起加油!...---- 文章目录 前言 数字类型 整数类型 为字段设置零填充(ZEROFILL) 浮点数类型 定点数类型 BIT类型 如何选择数据类型 时间和日期类型 YEAR类型 DATE类型 TIME类型 DATETIME...总结 ---- 前言 使用MySQL数据库存储数据时,不同数据类型决定了MySQL存储数据方式不同。...MySQL数据库提供了多种数据类型,其中包括数字类型时间和日期类型、字符串类型。...当插入数据类型与字段数据类型不一致,可以使用alter table修改字段数据类型。 对于小数类型设置,推荐使用定点数据类型设置合理范围,可以使计算更为准确。

3.9K20

MySQL数据类型 -- 日期时间

https://blog.csdn.net/robinson_0612/article/details/82824107 在MySQL关系型数据库中,MySQL支持数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步细分扩展,可以根据业务需要选择最适合一种。本文主要介绍日期时间类型,并演示其用法。...一、日期时间MySQL支持日期时间类型可以进一步细分,即可以分为日期型,时间型,日期时间型,时间戳等。如下图所示: ? 二、日期时间型存储需求 ? 三、日期时间型零值显示 ?...='+7:00'; Query OK, 0 rows affected (0.00 sec) -- 再次查看表,col4列上时间则提前了一小时 -- 也即是时区会影响时间戳列 mysql> SELECT...如果要存储超过2038时间值,则应使用DATETIME而不是TIMESTAMP。

86720
领券