首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysql日期与时间类型

MySQL有多种表示日期和时间的数据类型,不同的版本可能有所差异,MySQL8.0版本支持的日期和时间类型主要有:YEAR类型、TIME类型、DATE类型、DATETIME类型和TIMESTAMP类型。...以YY-MM-DD格式或者YYMMDD格式表示的字符串日期,此格式中,年份为两位数值或字符串满足YEAR类型的格式条件为:当年份取值为00到69时,会被转化为2000到2069;当年份取值为70到99时...如果使用带有D格式的字符串插入TIME类型的字段时,D会被转化为小时,计算格式为D*24+HH。...如果插入一个不合法的字符串或者数字,MySQL在存储数据时,会将其自动转化为00:00:00进行存储。比如1210,MySQL会将最右边的两位解析成秒,表示00:12:10,而不是12:10:00。...虽然 MySQL 也支持 YEAR(年)、 TIME(时间)、DATE(日期),以及 TIMESTAMP 类型,但是在实际项目中,尽量用 DATETIME 类型

3.9K20

MySQL 中的日期时间类型

日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。...TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值。...在需要使用数字的语境下,MySQL 会将日期时间自动转成数字。同理,在需要日期时间的相关操作语境下,会尝试将数字解析成日期时间。...通过设置 MySQL 相关参数,日期类型可保存原本非法的值,比如开启 ALLOW_INVALID_DATES 设置项时,可设置日期类型保存一个 2009-11-31 值,但正常情况下我们知道 11 月哪来什么...比如给一个日期格式的列设置 10:11:12,虽然这个值看起来像时间类型,但还是可以正确在被解析成目标列的格式,即日期

6.7K20

MySQL日期和时间类型笔记

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

1.8K10

MySQL数据类型--日期时间

在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来认认真真的研究学习。...最近在图书馆借了一本关于MysQL的书籍,打算全面的学习研究一遍。   在之前,我对于时间日期数据类型不怎么感冒,也没怎么用过这一类型。...二、时间日期数据类型总概况    MySQL中有多种表示时间日期的数据类型,主要有YEAR、TIME、DATE、DATETIME、TIMESTAMP等。...每一种数据类型都有存储的时间日期格式、以及取值范围,因此在使用时间日期数据类型的时候需要选取最佳的数据类型。 下图列出了几种数据类型: ?...四、小结   了解MySQL日期时间数据类型对于选取一种适合存储类型是很有必要的。

3.2K20

数据库MySQL-日期类型

5.日期类型 5.1 datetime类型 与时区无关的, 占用8个字节的存储空间 datetime(6) 用于存储毫秒级别 时间范围是1000-01-01 00:00:00 到 9999-12-31...23:59:59 5.2 timestamp类型 本质存储的是时间戳, 使用int存储, 占用了4个字节....时间范围是1970-01-01到2038-01-19 类型显示依赖于所指定的时区 5.3 date类型和time类型 date类型存储常用于生日的存储....相比于字符串/datetime/int存储要更少, 只需要使用3个字节 使用date类型还可以利用日期时间函数进行日期之间的计算 时间范围: 1000-01-01到9999-12-31 不要使用字符串类型来存储日期时间数据...日期时间类型通常比字符串占用的存储空间更小 日期时间类型在进行查找过滤的时候可以利用日期来进行对比 日期时间 类型还有着丰富的处理函数, 可以方便的对时期类型进行日期计算 使用int不如使用timestamp

2.9K30

MySQL日期数据类型详解

MySQL日期和时间类型 MySQL有5种表示时间值的日期和时间类型,分别为、DATE,TIME,YEAR,DATETIME,TIMESTAMP。...TIMESTAMP类型有专有的自动更新特性, TIMESTAMP类型有专有的自动更新特性, TIMESTAMP类型有专有的自动更新特性, 日期类型 类型 大小(字节) 范围 格式 用途 DATE 3...并且容易出现超出的情况 2.timestamp比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响. MySQL 时间类型:时间格式、所占存储空间、时间范围。...后来,看了 MySQL 手册才知道这是为了满足两个日期时间相减才这样设计的。...虽然 MySQL 中的日期时间类型比较丰富,但遗憾的是,目前(2008-08-08)这些日期时间类型只能支持到秒级别,不支持毫秒、微秒。也没有产生毫秒的函数。

7.5K20

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

https://blog.csdn.net/robinson_0612/article/details/82824107 在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍日期时间类型,并演示其用法。...一、日期时间型 MySQL支持的日期时间类型可以进一步细分,即可以分为日期型,时间型,日期时间型,时间戳等。如下图所示: ? 二、日期时间型存储需求 ? 三、日期时间型零值显示 ?...四、日期时间型演示 mysql> show variables like 'version'; +---------------+------------+ | Variable_name | Value...mysql> system date Sun Sep 23 18:08:18 CST 2018 -- 在mysql层临时修改一下时区,假定在这里修改为+7时区 mysql> set time_zone

86320

python转化excel数字日期为标准日期操作

那我们的目标就是将字段列名的日期数据替换成标准的日期格式,具体的思路是: 1、先用excel实验2018-11-02对应的日期时间戳是43406。...以下代码是将excel时间戳转化成标准日期,并替换原有列名的具体步骤: import pandas as pd import datetime data=pd.read_excel(r'xxxx.xlsx...') col=list(data.columns)#获取列名 print(col) col_new=[] def date(dates):#定义转化日期戳的函数,dates为日期戳 delta=datetime.timedelta...(days=dates) today=datetime.datetime.strptime('1899-12-30','%Y-%m-%d')+delta#将1899-12-30转化为可以计算的时间格式并加上要转化日期戳...ws['A1'] = 520 ws.append([1,2,3]) ws['A3'] = datetime.datetime.now() wb.save('time.xlsx') 以上这篇python转化

3.6K20

MySQL系列之日期和时间类型笔记

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

1.2K20

数据类型转化

(需要强制类型转换) 转换过程写法都好用,如果转换的过程中数值范围超过边界,可能会有损失 例如: byte a = 1; int b = a;//自动直接转化 int a = 1; byte b...= (byte)a;//需要强制类型转换 float x = 3.4F; double y = x;//自动直接转化 double x = 3.4; float y = (float)x;//强制转换...,反之需要强制转换 任何一个浮点型都可以直接存放一个整型 例如: int a = 1; float b = a;//自动直接转化 float a =1.0F; int b = (int)a;//强制类型转换...  整型---字符型 每一个字符都对应这一个Unicode码,如a--97 示例: char x = 'a'; int y = x;//自动转化 y--97 int x = 97; char y...= (char)x;//强制的转化   布尔类型 布尔类型很特殊,不能与其他基本类型之间发生转化   引用类型之间后续详解

50710

MySQL 日期时间类型怎么选?千万不要乱用!

构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp。...不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢?...用户前端输入的时间一般都是日期类型,如果存储 int 还需要存前取后处理 总结 timestamp 记录经常变化的更新 / 创建 / 发布 / 日志时间 / 购买时间 / 登录时间 / 注册时间等,并且是近来的时间...有没有一个时间类型即解决了范围、时区的问题?这是不可能的,不是还有 tinyInt BigInt 吗?取自己所需,并且 MySQL 是允许数据库字段变更的。...关注公众号Java技术栈回复m36可以获取一份MySQL开发军规。 欢迎大家补充和指正。

2.8K30

有了这个日期工具类,让日期转化不再烦恼

想必程序员在开发过程中,遇到日期转化肯定避免不了的。它让人爱恨不已,而有些又记不住,每次遇到都得问度娘。我最近在开发过程中亦是如此。 为了让自己更好的记忆,方便以后遇到日期类型转化相关开发。...因此,自己作了适当的整理,编写了一个日期工具类,包括获得今天日期、昨天日期、明天日期日期和字符串之间转化等相关转化。希望这个日期工具类,也能提高你对日期转化的开发效率。...* @author 格姗知识圈 */ public class DateTools { /** * 日期转化为指定日期格式类型 * @param date 日期...* 日期字符串转化为指定日期格式类型 * @param date_str 日期字符串 * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日...//将日期字符串转化为指定日期格式类型 Date before_date = stringToDate(before_date_str,pattern); return

1K20
领券