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

MySQL 日期时间类型

日期时间类型包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体取值范围,超出或非法其他值时,MySQL 会回退到 0。...TIMESTAMP 类型是个例外,给它设置一个超出范围值时,将保存上该类型允许最大值。...通过设置 MySQL 相关参数,日期类型可保存原本非法值,比如开启 ALLOW_INVALID_DATES 设置项时,可设置日期类型保存一个 2009-11-31 值,但正常情况下我们知道 11 月哪来什么...所以 MySQL 是支持将月日设置成 0,比如 2019-00-00。但这种情况下就无法从日期相关操作获得到准确结果,比如使用 DATE_SUB() 或 DATE_ADD() 函数时。...比如给一个日期格式列设置 10:11:12,虽然这个值看起来像时间类型,但还是可以正确在被解析成目标列格式,即日期

6.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql日期与时间类型

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

    4.1K20

    MySQL数据类型--日期时间

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

    3.3K20

    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字节,显示范围为...DATE_FORMAT函数 DATE_FROMAT和Oracleto_char功能有点类型,作用是按照用户定义格式打印数据 SELECT DATE_FORMAT(NOW(),'%Y%m%d');

    1.8K10

    SQL 日期和时间类型

    在我们SQL中一般支持三种数据类型。 date:日历日期,包括年(四位),月和日。 time: 一天时间,包括小时,分和秒。可以用变量time(p)来表示秒小数点后数字位数(默认是0)。 ...如果指定with timezone,则时区信息也会被存储 日期和时间类型值可按如下方式说明: date:‘2018-01-17’ time:‘10:14:00’ timestamp:‘2018-01-...17 10:14:00.45’ 日期类型必须按照如上年月日格式顺序指定。...我们可以利用cast e as t形式表达式来讲一个字符串(或字符串表达式)e转换成类型t,其中t是date,time,timestamp一种。字符串必须符合正确格式,像本段开头说那样。...---- 我们可以利用extract(field from d),从date或time值d中提取出单独域,这里域可是 year,month,day, hour,minute或者second任意一种

    3.2K60

    数据库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

    3K30

    MySQL日期数据类型详解

    MySQL日期和时间类型 MySQL有5种表示时间值日期和时间类型,分别为、DATE,TIME,YEAR,DATETIME,TIMESTAMP。...在 MySQL 创建表时,对照上面的表格,很容易就能选择到合适自己数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。...并且容易出现超出情况 2.timestamp比较受时区timezone影响以及MYSQL版本和服务器SQL MODE影响. MySQL 时间类型:时间格式、所占存储空间、时间范围。...后来,看了 MySQL 手册才知道这是为了满足两个日期时间相减才这样设计。...虽然 MySQL 日期时间类型比较丰富,但遗憾是,目前(2008-08-08)这些日期时间类型只能支持到秒级别,不支持毫秒、微秒。也没有产生毫秒函数。

    8.9K20

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

    https://blog.csdn.net/robinson_0612/article/details/82824107 在MySQL关系型数据库MySQL支持数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步细分扩展,可以根据业务需要选择最适合一种。本文主要介绍日期时间类型,并演示其用法。...一、日期时间型 MySQL支持日期时间类型可以进一步细分,即可以分为日期型,时间型,日期时间型,时间戳等。如下图所示: ? 二、日期时间型存储需求 ? 三、日期时间型零值显示 ?...四、日期时间型演示 mysql> show variables like 'version'; +---------------+------------+ | Variable_name | Value...TIMESTAMP和DATETIME都需要额外字节来获得小数秒精度。

    88020

    【重学 MySQL】五十七、日期与时间类型

    【重学 MySQL】五十七、日期与时间类型MySQL日期与时间类型用于存储和操作日期和时间数据。这些类型根据所需存储信息精确度和范围而有所不同。...YEAR默认格式就是YYYY,没必要写成YEAR(4),从MySQL 8.0.19开始,不推荐使用指定显示宽度YEAR(4)数据类型。 TIME类型 用途:用于存储时间,不包含日期部分。...插入格式: 可以使用带有冒号字符串,比如’D HH:MM:SS'、‘HH:MM:SS’、‘HH:MM’、‘D HH:MM’、'D HH’或’SS’格式,都能被正确地插入 TIME类型字段。...可以使用YY-MM-DD HH:MM:SS或YYMMDDHHMMSS格式字符串,其中YY表示两位年值。 MySQL允许“不严格”语法,任何标点符号都可用作日期部分或时间部分之间间隔符。...虽然 MySQL 也支持 YEAR(年)、 TIME(时间)、DATE(日期),以及 TIMESTAMP 类型,但是在实际项目中,尽量用 DATETIME 类型

    10010

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

    最近在看《MySQL技术内幕:SQL编程》并做了笔记,这是一篇笔记类型博客,分享出来方便自己复习,也可以帮助其他人 一、日期时间类型所占空间对比 各种日期时间数据类型所占空间: 类型所占空间DATETIME8...注意: 更新表时,可以设置TIMESTAMP类型列,自动更新时间为当前时间 列为TIMESTAMP日期类型可以设置一个默认值,而DATETIME不支持 例子,验证一下,设置默认值和自动更新时间...SELECT * FROM t; 四、YEAR和TIME类型对比 YEAR类型占用1字节,书中介绍定义时可以指定显示宽度为YEAR(2)或者YEAR(4),不过在我mysql版本5.7+验证,发现只能定义为...类型只占3字节,显示范围为“-838:59:59”~“838:59:59”,TIME小时是可以大于23也可以为负值,因为time也可以用来保存时间间隔 五、日期时间函数 NOW、CURRENT_TIMESTAMP...,INTERVAL 1 YEAR); SELECT DATE_ADD('2004-2-29',INTERVAL 4 YEAR); DATE_FORMAT函数 DATE_FROMAT和Oracle

    1.3K20

    Mysql类型

    Mysql类型: 数字类型 字符串类型 布尔型 日期时间类型 数字类型: 1个字节=8比特,但数字里有一个比特用于符号占位 TINYINT 占用1个字节,表示范围:-128~127 SMALLINT...0\0\0\0\0” VARCHAR(8)输入“abc”实际储存为 “abc ”即“abc\0” 时间类型: DATE 支持范围是1000-01-01 ~ 9999-12-31 TIME 支持范围是...N位 员工所在部门:可取值必须在部门表存在过 主键约束: 列名 类型 PRIMARY KEY 声明为“主键”列上不能出现NULL值,且不能重复,如学生编号、商品编号。...表中所有的记录行会自动按照主键列上值进行排序。 一个表至多只能有一个主键列。 唯一约束: 列名 类型 UNIQUE 声明为“唯一”列上不能出现重复值,但可以出现多个NULL值。...非空约束: 列名 类型 NOT NULL 声明为“非空”约束列上不能出现NULL,但可以重复 检查约束对于Mysql不支持 默认值约束 列名 类型 Default 值 声明为“默认值”约束列上没有值将会默认采用默认设置

    6.4K20

    MysqlMySQL TIMESTAMP类型 和 DATETIME类型 区别

    1、两者存储方式不一样 TIMESTAMP:把客户端插入时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。...DATETIME:不做任何改变,基本上是原样输入和输出 2、两者所能存储时间范围不一样 timestamp存储时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01...:00:00分保存数据,在东9区看到是09:00:00,datetime与时区无关 6、timestamp 4个字节存储(实际上就是int),datetime 8个字节 7、如果timestamp值超出范围...,mysql不会报错 8、如果是自动更新模式,手动修改数据导致timestamp字段更新 9、同时有两个timestamp字段默认值为current_timestamp会报错 参考资料: MySQL...TIMESTAMP类型 和 DATETIME类型 区别 http://www.studyofnet.com/news/1123.html

    3.8K20

    mysqlmysql如何存储日期数据

    一.DateTime类型 1,特点 1)以YYYY-MM-DD HH:MM:SS[.fraction]格式存储日期时间,在mysql5.6前可以只能存储到秒,在5.6后能存储到微秒 2)datetime...)首先在一张表,存储两个列值,第一列是datetime类型,第二列是timestamp类型,用相同时区存进去 2)修改当前数据库时区,再次查询 3)结论:第一列时间没有随着时区变化而变化...(8个字节),int(4个字节) 存储要少,使用date类型只需要3个字节 3)使用date类型还可以利用日期时间函数进行日期之间计算 4)存储时间范围:公元1000-01-01到9999-12...-31之间日期 五.time类型 用于存储时间数据,格式为HH:MM:SS 六.注意事项 1.不要使用字符串类型来存储日期时间数据 理由: 1)日期时间类型通常比字符串占用存储空间小 2)日期时间类型在进行查找过滤时可以利用日期来进行对比...3)日期时间类型还有着丰富处理函数,可以方便日期类型进行日期计算 2.使用int存储日期时间不如使用timestamp类型,使用时更加方便,无需转换

    4.9K30
    领券