前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql使用between and处理时间详解

mysql使用between and处理时间详解

原创
作者头像
牧鱼
修改2021-07-07 18:03:37
4.4K0
修改2021-07-07 18:03:37
举报

mysql使用between and处理时间区间

select `mcs_caseset_buy`.`user_id`, `mcs_caseset_buy`.`medname`, `mcs_caseset_buy`.`user_hospital`, `mcs_caseset_buy`.`user_depart`, `mcs_caseset_buy`.`user_carclass`, `mcs_caseset_buy`.`address`, `mcs_wechat_user`.`user_id` as `wx_user`, `mcs_view_log_record`.`view_way`, max(mcs_view_log_record.created_at) as created_at from `mcs_caseset_buy` left join `mcs_wechat_user` on `mcs_wechat_user`.`user_id` = `mcs_caseset_buy`.`user_id` left join `mcs_view_log_record` on `mcs_view_log_record`.`user_id` = `mcs_caseset_buy`.`user_id` where `mcs_view_log_record`.`created_at` between "2018-08-01" and " 2018-08-31" group by `mcs_caseset_buy`.`user_id` order by `mcs_view_log_record`.`created_at` desc

这是我查询语句,使用到了BETWEEN AND,但是数据空库中明确有2018-08-31的数据,但是就是查询不出来,最后发现我没有发现右边界,但是我记得BETWEEN AND明明是包含又边界的,所以,不管三七二十一,我把右边界加上了一天

$endTime = date("Y-m-d",strtotime("+1 day", strtotime($end)) );//加一天

然后就可以了,搞得我都晕了,明明包含右边界,为什么会出现这种情况,我就百度了一下,是因为数据库字段类型的原因,我设计的时候是采用datatime类型的

代码语言:javascript
复制
select * from date where test_date between ‘2018-01-21’ and ‘2018-06-07’能查出2018-06-07的数据

如果是datetime类型,’2018-06-07’ 会被转成’2018-06-07 00:00:00’类型,所以查不出来2018-06-07的数据

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mysql使用between and处理时间区间
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档