首页
学习
活动
专区
圈层
工具
发布

mysql—mysql中如何存储日期数据

一.DateTime类型 1,特点 1)以YYYY-MM-DD HH:MM:SS[.fraction]格式存储日期时间,在mysql5.6前可以只能存储到秒,在5.6后能存储到微秒 2)datetime...[.fraction]的格式显示,占用4个字节,实际上是以int类型来存储的 2)时间范围1970-01-01到2038-01-19 3)timestamp类型显示依赖于所指定的时区 4)在行的数据修改时可以自动修改...,其他列不会 三.演示 1.关于时区的区别 1)首先在一张表中,存储两个列的值,第一列是datetime类型,第二列是timestamp类型,用相同时区存进去 2)修改当前数据库的时区,再次查询...存储的时间范围:公元1000-01-01到9999-12-31之间的日期 五.time类型 用于存储时间的数据,格式为HH:MM:SS 六.注意事项 1.不要使用字符串类型来存储日期时间的数据 理由:...1)日期时间类型通常比字符串占用的存储空间小 2)日期时间类型在进行查找过滤时可以利用日期来进行对比 3)日期时间类型还有着丰富的处理函数,可以方便的对日期类型进行日期的计算 2.使用int存储日期时间不如使用

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

    MySQL数据类型--日期时间

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

    4.1K20

    时间区域类与日期格式类

    Locale时间区域类: 使用区域类可以得到当前所在区域的名称和所使用的语言。例如: ? 输出结果: ? 使用区域类还可以获得常见国家/区域的名称和所使用的语言。例如: ? 运行结果: ?...Locale.setDefault(Locale.TAIWAN);这个方法是设置全局区域,设置了某一个国家后,全部的打印都是以这个国家/区域的文字显示。例如设置为美国: ? 运行结果: ?...全局设置成美国后所有打印都是以英文打印了 DateFormat日期格式类: 这个类是在java.text文本处理包下的类,这是一个抽象类,它的对象需要用一个方法去获得,日期格式类顾名思义就是用于获得常用的时间格式的...也就是日期格式,在使用getDateInstance();方法时将格式常量和国家常量传递过去就可以了。...SimpleDateFormat日期格式类: 这个日期格式类,更像是自定义的方式通过字符串来转换成时间格式,不需要去获得常量,提供了比较大的方便。

    1.2K20

    MySQL日期数据类型详解

    MySQL日期和时间类型 MySQL有5种表示时间值的日期和时间类型,分别为、DATE,TIME,YEAR,DATETIME,TIMESTAMP。...在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。...后来,看了 MySQL 手册才知道这是为了满足两个日期时间相减才这样设计的。...虽然 MySQL 中的日期时间类型比较丰富,但遗憾的是,目前(2008-08-08)这些日期时间类型只能支持到秒级别,不支持毫秒、微秒。也没有产生毫秒的函数。...* FROM t; TIMESTAMP 也用来表示日期,和时区相关(DATETIME则只能反应出插入时当地的时区,其他时区的人查看数据必然会有误差的。)

    12.2K20

    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

    1.4K20

    mysql大量数据分页查询优化-延迟关联

    所有的php初学者都应该知道,mysql的分页语句写法如下: select * from a limit (page-1)*page_size,page_size 而当这语句分页到一定程度时,例如1000...页,每页20条 select * from a limit 19980,20 会发现分页之后查询的会越来越慢 原因是因为limit a,b 的取数据方式是,先取出a+b条数据,再把a条筛选掉,剩b条...,相当于一次性要取a+b条的数据,而a条其实是无用的 解决方案如下 一:php代码解决 例如我们先查询出第一页的数据: select * from a limit 20 保留最后一个的id,当需要取第2...        LIMIT 19980, 20      ) as lim using(id); 使用该方法,会先从索引表取出索引id,然后进行using索引覆盖方法,因为先查询的是索引,然后才从索引里关联取出...mysql索引覆盖查询,0.089秒

    3K20

    MySQL关联查询 COUNT数据不准确

    前提 在业务开发中常遇到关联查询使用count()函数做统计的需求,同样在使用该函数时如果处理不当会导致统计出的数据是真实数据N倍的问题,出现重复问题导致统计不准确。...出现该问题的原因是关联查询的主表与关联表关联关系不是一对一而是一对多的关系。...demo数据 以本demo为例,owners表表示车主,vehicle表表示车辆,以下为基础建表语句: DROP TABLE IF EXISTS `owners`; CREATE TABLE `owners...vehicle` VALUES (4, '大众', 2); INSERT INTO `vehicle` VALUES (5, '比亚迪', 1); 表关系 车主和车辆的关系为1:N,两表通过own_id关联...问题出现的原因 MySQL在进行关联查询时,首先扫描主表,以主表为基础数据通过on条件匹配关联表数据。on v.owner_id = o.id条件会匹配到张三的车辆表3条数据。

    2.3K10

    Mysql日期操作

    本篇谈谈日期处理我们如何操作,在订单类型业务中我们经常需要对时间做处理,通过时间来分页显示订单等,所以不可避免的需要对日期处理操作滚瓜烂熟。...首先我们创建一个订单表,字段大约20多个字段,然后使用存储过程插入1万条数据。 ?...SUBSTR函数 首先我们来设想这么一个业务需求:用户下单在数据库保存用户下单时间pay_date,使用的datetime格式,用户下单成功需要发货,但是datetime显示付款时间精确到秒,我们商家后台发货系统只需要精确到日期...dayofweek函数很好理解,就是传入一个日期,返回日期对应星期几。那我们再来设想一种需求:比如外卖平台一般会有创建订单后15分钟若未进行付款则自动取消订单的操作,那我们如何操作呢?...在数据库我们可以看到日期格式为2019-01-01 00:00:00这种标准格式,但是我们通过代码查询出的数据经常日起都不是标准格式,比如这是我通过代码读书来的一条商品数据: {

    7.4K41

    mysql日期函数

    这里主要介绍一下mysql里面一些常用的日期函数,掌握了这些函数可以更好地编写sql语句。...1.获取当前时间函数:now()这是一个使用比较频繁的函数,比如更新数据的时候同时更新数据表中的‘更新时间’等等,与now()函数相近的一个函数是sysdate(),该函数与now()函数的不同之处在于...-----------------+----------+---------------------+---------------------+---------------------+ 2.日期转换函数...:date_format(date,format),当传入一个Date对象,该对象有年月日、时分秒,如果你只想比较日期不比较时间,那么可以使用该函数将传入的Date对象进行转换 mysql> select...--------------+ | 1034 | +---------------------------------+ 4.字符串转换成日期函数

    7K30

    MySQL数据库日期时间函数大全

    一、获取当前日期/时间类 函数 说明 NOW() 当前日期 + 时间 CURDATE() 当前日期 CURTIME() 当前时间 CURRENT_TIMESTAMP() 当前时间戳(与 NOW 等价),...常用于字段默认值 LOCALTIME() 本地时间,与 NOW 相同 LOCALTIMESTAMP() 同上,与 NOW 相同 二、日期计算函数(加减时间) 函数 说明 DATE_ADD() 给日期增加时间...DATE_SUB() 给日期减少时间 ADDDATE() 增加日期,同 DATE_ADD SUBDATE() 减少日期,同 DATE_SUB 示例: 获取本月第一天 select date_add(...函数 说明 DATE_FORMAT() 日期格式化 TIME_FORMAT() 时间格式化 STR_TO_DATE() 字符串转日期格式 示例: 日期转换成字符串 SELECT DATE_FORMAT...SELECT TIMESTAMPDIFF(HOUR, '2025-12-01 08:00:00', now()); 计算距离高考日期 SELECT CURDATE() AS 当前日期,

    1.3K10
    领券