`
liangjian103
  • 浏览: 176874 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MYSQL的毫秒级时间比较问题

 
阅读更多

一般来说,MYSQL使用时间比较一般是转换成时间格式来比较,如:

DATE_FORMAT('年-月-日 时:分:秒','%Y-%m-%d %h:%i:%s')

select DATE_FORMAT('2010-12-01 07:03:16','%Y-%m-%d %h:%i:%s')/*具体例子*/

如果要转换成毫秒级就要用 select DATE_FORMAT('2010-12-01 07:03:16.233','%Y-%m-%d %T:%f')-- 注意啦,T不能小写

 

一个查询的实例:

 

select * from test where DATE_FORMAT(timess,'%Y-%m-%d %T:%f') between DATE_FORMAT('2010-12-01 06:03:16.233','%Y-%m-%d %T:%f') and DATE_FORMAT('2010-12-01 08:03:16.733','%Y-%m-%d %T:%f')

 

 在这里,要转换的字符串的毫秒前是用“.”表示小数位的。

 

除此以外,还有一种可以直接拿字符串比较的:

 

select * from test where DATE_FORMAT(timess,'%Y-%m-%d %T:%f') between '2010-12-01 06:03:16:233' and '2010-12-01 08:03:16:733'

 

这样也可以。但是要注意这里的毫秒前的符号变成了":",必须是这个符号,如果你写成了“.”查询结果是错误的。

 

其实这2中写法都可以,不过,我还是建议最好用DATE_FORMA()函数转换的写法,因为在使用Navicat Lite这样的工具调试的时候,如果是直接比较字符串,有时候会报错。具体原因不明。

 

最后,还是要跟大家说一声:在用格式转换的时候,还是要分清大小写,因为很多人在这个上面不注意,结果导致调试失败。就如同上面的这个例子。不能用小写的t的格式,还是要用大写的T,否则结果会错误。

分享到:
评论

相关推荐

    解决mysql时间戳datatime存储四舍五入问题.docx

    在MySQL数据库中,时间戳(Timestamp)和日期时间(DateTime)是两种常见的日期和时间数据类型,用于存储和处理时间信息。在您的项目中遇到的问题是关于DateTime类型的字段在存储时出现了四舍五入的问题,这通常是...

    MySQL存储毫秒数据的方法

    总结来说,虽然MySQL的标准时间类型不直接支持毫秒级精度,但通过组合字段或使用字符串或哈希值的策略,可以实现毫秒级时间数据的存储。同时,确保数据库支持`utf8mb4`编码以处理包含 emoji 的数据。在实际应用中,...

    在mysql建表中将日期设置为默认取得当前系统时间

    然而,MySQL数据库的实际存储格式为`YYYYMMDDHHMMSS`,这意味着尽管语法上支持毫秒级精度,但在实际存储时,精度仍被限定在秒级别。因此,在设计数据库时,应根据具体需求选择合适的时间类型和精度。 综上所述,...

    10万条数据下MySQL批量更新6种方式的性能测试.zip

    通过实际测试对比了Spring Boot中6种MySQL批量更新方式的效率,并详细记录了每种方法在处理500,1000,5000,10000,50000,100000条数据的平均时间、最小时间和最大时间。包括MyBatis-Plus提供的批量更新,JdbcTemplate...

    PHP获取毫秒级时间戳的方法

    在实际开发中,如果是要和Java等其他语言编写的程序进行毫秒级时间同步通信,则需要确保两种语言下的时间戳获取方式能够对应起来。例如,Java程序中使用System.currentTimeMillis()获取的时间戳需要和PHP程序中用...

    利用mysql实现的雪花算法案例

    - 41位用于存储时间戳(毫秒级),可以使用约69年。 - 10位用于机器码,包含5位数据中心ID和5位工作节点ID,最多支持1024个节点。 - 12位序列号,每个节点每毫秒可生成4096个ID。 2. 缺陷与对策 - 时间回拨问题:...

    基于 swoole 的多进程队列系统,低延时(最低毫秒级)、低资源占用, 支持一键化协程、超时控制、失败重试。

    在描述中提到的“低延时(最低毫秒级)、低资源占用”表明这个队列系统设计得非常优化,能在处理大量任务时保持快速响应,并且对服务器资源的消耗控制在较低水平,这在高负载环境下尤其重要,可以确保系统的稳定运行。...

    MySQL高级配置优化指导

    一般来说,对于用户交互类的操作,响应时间应在几百毫秒以内;而对于后台批处理任务,则可根据实际情况适当放宽标准。 - CPU世界里的一秒钟有多长? - 在现代计算机中,CPU每秒可以执行数十亿次操作,因此从CPU的...

    关于MySQL的时间进位问题浅析

    2. 不指定精度,但在插入数据前,手动截断时间值的小数部分,确保只保留秒级精度。 在MySQL 5.6及更高版本中,可以利用`Fractional Seconds in Time Values`功能来支持更精细的时间精度。查阅官方文档【MySQL 5.6 ...

    MySQL 叢集評估指南

    它能够提供毫秒级响应性能,适合对性能要求极高的应用。此外,集群还支持标准SQL和NoSQL接口,使得PHP、Java或.NET等语言的应用程序都能通过相应的连接器来访问MySQL集群中的数据。 4. 评估前需要考虑的因素 评估...

    基于Sphinx+MySQL的千万级数据全文检索

    在DELL PowerEdge 6850服务器上,Sphinx能够快速创建和查询索引,对千万级数据的查询时间保持在毫秒级。 Sphinx的特性包括: 1. 高速索引构建,可达到10MB/秒,远超Lucene。 2. 高性能搜索,平均0.1秒内在2-4GB文本...

    MySQL中的回表查询与索引覆盖:一次百万级别分页查询使用Limit 从90秒到0.6毫秒的优化

    数据库使用的MySQL,有一个日志表,需要进行分页查询,于是很容易就想到了limit [offset偏移量] [count数量]这个查询方式,当我们偏移量比较小时,似乎是没什么问题 SELECT * FROM t_log WHERE type = 1 LIMIT 5, 50 ...

    2011年MySQL日期数据类型、MySQL时间类型使用总结.doc

    需要注意的是,截至2008年,MySQL的时间类型只支持到秒级精度,不包括毫秒或微秒。如果你需要更高精度的时间记录,可能需要寻找其他解决方案或者使用额外的编程逻辑来实现。 在设计数据库时,正确选择日期和时间...

    ADB for Mysql 白皮书.pdf

    **ADB for MySQL** 的高性能处理能力,能够帮助企业实现秒级甚至是毫秒级的数据响应,极大地提升了业务处理效率。 4. **可靠性不足,无法承载关键业务**:对于关键业务而言,数据的可靠性至关重要。**ADB for MySQL...

    浅谈MySQL数据库性能优化

     这里先引用一句话,从内存中读取一个数据的时间消耗是微秒级别,而从普通硬盘上读取一个数据是在毫秒级别,二者相差3个数量级。可见,想对MySQL数据库进行优化,合理调配缓存参数显得更为直接  表缓存  相关...

    sphinx+mysql 安装手册

    结合MySQL数据库,可以构建出强大的、适用于千万级数据的全文检索解决方案。本手册将详细讲解如何在生产环境中安装和配置Sphinx以及与MySQL的集成。 ### 一、Sphinx简介 Sphinx提供实时索引、低延迟查询、布尔运算...

    qt mysql定时备份

    QT MySQL 定时备份是将MySQL数据库的数据在特定时间点自动保存到本地或者远程服务器的过程,这通常通过编程实现,而QT作为一个强大的跨平台应用程序开发框架,提供了与MySQL数据库交互的API,使得我们可以利用QT来...

    MySQL底层概念

    磁头移动一步需要花费 100-300 毫秒,所以优化的都是寻道地址,尽可能的减少寻道时间。 IO 优化 为了减少寻道时间,有了顺序 IO 和离散/随机 IO。顺序 IO 是因为数据是有序的,所以顺序 IO 可以快速的读取数据,...

    MySQL 集群评估指南

    MySQL集群的实时性能是其一个显著特点,可以提供毫秒级的响应时间和每秒数百万次操作的服务能力。它支持标准的SQL接口,同时也提供了NoSQL接口,允许应用程序通过多种编程语言访问集群。对于Java开发者来说,MySQL...

Global site tag (gtag.js) - Google Analytics