sql 时间比较 区间 某月 某日 mybatis mysql

省流:

日,捞2023年1月1日,create_time>='2023-01-01' and create_time<'2023-01-02'

月,捞2023年1月,create_time>='2023-01-01' and create_time<'2023-02-01'

 

详解:

在某个区间内,一般使用大于等于和小于。

例如捞出表中2023年6月9日的数据。

select * from t1 where create_time>='2023-06-09' and create_time<'2023-06-10'

这里日期其实有隐式的时间在里面,即,2023-06-092023-06-09 00:00:00

这段sql等价于:

select * from t1 where create_time>='2023-06-09 00:00:00' and create_time<'2023-06-10 00:00:00'

捞出某个月的数据也一样

不再需要使用date_format(create_time,'%Y-%m'),因为函数会对每行数据的create_time进行处理,这样会影响性能。

只需要这样写,例如捞出6月的数据:

select * from t1 where create_time>='2023-06-01' and create_time<'2023-07-01'

mybatis中写法

在mybatis中,一般会传参,使用变量:

select * from t1 where create_time>=#{startTime} and create_time<#{endTime}

由于xml文件中小于号需要转义,所以我们这样写:

select * from t1 where create_time>=#{startTime} and #{endTime}>create_time

文章来源地址https://uudwc.com/A/Nbpjn

原文地址:https://blog.csdn.net/u011149152/article/details/131118883

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年06月18日 03:31
下一篇 2023年06月18日 03:31