mysql日期索引失效
首先我们还是先把表结构说下:用户表tb_user结构如下:CREATE TABLE `tb_user` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主...
2024.11.12在很多地方都使用到了mysql的日期查询,如果不做处理,查询出来的是毫秒数,虽然就java能够处理,但是总归是要浪费时间,所以特地想总结一些关于日期查询相关的方法,供以后查询方便。
第一种:在sql中使用DATE_FORMAT进行格式化,得到的结果直接就是你设置的格式select DATE_FORMAT(t.create_time,‘%Y-%c-%d %H:%i:%s‘) ‘date‘ FROM e_mail_accept t
得到的是:2018-12-08 16:36:47
第二种:如果是使用的ssm项目,则可以通过在对应的pojo上面加上@JsonFormat注解,即可得到想要的结果/** 创建时间 */
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@TableField(value="create_time")
private Date createTime;
此方法需要在maven加上如下代码
com.fasterxml.jackson.core
jackson-databind
2.9.2
第三种:查询当前日期常用的sql
select DATE_SUB(CURDATE(),INTERVAL 0 DAY) ;
结果:2018-12-19
select NOW();
结果:2018-12-19 22:11:53
select CURDATE();
结果:2018-12-19
查询昨天:2018-12-18
select DATE_SUB(CURDATE(),INTERVAL 1 DAY) ;
查询明天:2018-12-19
select DATE_SUB(CURDATE(),INTERVAL -1 DAY) ;
查询前一个小时:2018-12-19 21:19:10
select DATE_SUB(NOW(),INTERVAL 1 HOUR) ;
查询后一个小时:2018-12-19 21:19:10
select DATE_SUB(NOW(),INTERVAL -1 HOUR) ;
查询前一分钟:2018-12-19 22:19:08
select DATE_SUB(NOW(),INTERVAL 1 MINUTE) ;
查询前一年:2017-12-19 22:19:08
select DATE_SUB(NOW(),INTERVAL 1 YEAR) ;
第四种:查询时间段的时候,要确定是比较年月日还是比较到时分秒
select * from test where date_format(create_time,‘%Y-%m-%d‘) between ‘2018-07-30‘ and ‘2018-07-31‘;
第五种:常用的查询今天、昨天、最近几天、一个月、一个季度等数据查询
此段参考了:https://www.cnblogs.com/benefitworld/p/5832897.html
今天
select * from 表名 where to_days(时间字段名) = to_days(now());
昨天
select * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名)
首先我们还是先把表结构说下:用户表tb_user结构如下:CREATE TABLE `tb_user` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主...
2024.11.12当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。解决方案一:于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数...
2024.11.151. MySQL查询慢是什么体验?大多数互联网应用场景都是读多写少,业务逻辑更多分布在写上。对读的要求大概就是要快。那么都有什么原因会导致我们完成一次出色的慢查询呢?1.1 索引在数据量不是很大时,大...
2024.11.12作者:高鹏文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。这个问题是最近一个朋友问我的。刚好就好好看了一下,留下这样的记录。本文...
2024.11.12在开发过程中经常会定义一些扩展字段,且需要增加查询,在以往的mysql版本中,json结构是不支持查询的,这样就导致我们不得不新定义字段。在mysql 5.7之后,为了解决这一问题,增加了相关的查询...
2024.11.12