首页 > 数据库 >Mysql使用between and查询时间区间不包括右边界问题

Mysql使用between and查询时间区间不包括右边界问题

时间:2024-11-08 09:31:48浏览次数:1  
标签:10 00 01 31 Mysql 边界问题 2020 2018 between

结论:
Mysql数据库中的between and查询是包含右边界的,但如果字段是datetime类,数据格式则会被转换为:2018-10-01 00:00:00,那么2018-10-01当天的数据就查询不到,所以就会出现不包含右边界的这种问题,而数据类型本身是date则不会出现上述问题。

举例:
在Mysql中有如下select语句:
SELECT * FROM userinfo WHERE xm='xiaoming' and datetime BETWEEN'2020-01-01' and '2020-01-31'

上面这种写法 查询出来的数据并不会包括 2020-1-31 日的数据,因为MySQL对日期的查询是默认“00:00:00”,所以上面的时间区间实际为:2020-01-01:00:00:00——2020-01-31:00:00:00,31日当天的数据是不在区间内的,所以查询不到。

解决方法:
1,把日期往后推一天,2018-10-01——2018-11-01
2,把右边界的时间精确到边界,2018-10-01——2018-10-31 23:59:59

补充:
以上问题只会在字段类型为‘DateTime’中会出现,MySQL本身是包含右边界的,如果是datetime,数据格式则会被转换为:2018-10-01 00:00:00,数据类型本身是date则不会出现上述问题。

标签:10,00,01,31,Mysql,边界问题,2020,2018,between
From: https://www.cnblogs.com/longyoudahai/p/18534465

相关文章

  • linq to mysql 查询_LinQ to SQL 查询(转)
    LINQtoSQL是将对象关系映射到.NET框架中的一种实现。它可以将关系数据库映射为.NETFramework中的一些类。然后,开发人员就可以通过使用LINQtoSQL对数据库中的数据进行查询、修改、插入、删除等操作。LINQtoSQL类映射到SQLServer数据库中的表,这些类被称做“实体类”,实体......
  • MySQL索引详解
    MySQL索引详解索引介绍索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方:我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里......
  • MySql基本常用语句
    查询语句select*(要查找的内容)fromtable(表名)逻辑运算符--and与--or或--not取反--in包含select*(要查找的内容)fromtable(表名)where*and*select*(要查找的内容)fromtable(表名)where*or*select*(要查找的内容)fromtable(表名)where*in(......
  • php毕业设计流浪动物领养系统宠物领养网站PHP+MySQL+HTML计算机毕业设计PHP源码获取ph
    一、功能介绍基于php+mysql+html前台:网站首页宠物推荐最新宠物新闻咨询宠物分类宠物资讯评论登录/注册加入购物车、领养、个人中心后台:各种增删改查系统设置分类管理宠物管理领养管理评价管理新闻资讯用户管理二、效果展示三、代码展示CREATE......
  • 安装MySQL:从新手到专家的第一步
    引言在现代应用开发中,MySQL是最广泛使用的关系型数据库之一。无论是用于小型网站的后台支持,还是大型企业级应用数据管理,掌握MySQL的安装与配置都是每个开发者的必备技能。然而,对于初学者来说,安装MySQL的过程有时会遇到各种坑。本文将带你逐步了解如何在不同操作系统上安装MySQ......
  • MySQL基本命令:新手必备的数据库操作技巧
    引言MySQL是全球最流行的开源关系型数据库管理系统之一,广泛应用于各种应用项目中。对于新手来说,掌握MySQL的基本命令是非常重要的,能够帮助你高效进行数据管理和操作。这篇文章将介绍MySQL的一些基本命令,指出新手容易踩的坑,并为你提供实用的操作示例,让你在使用MySQL时更加得心......
  • 免费送源码:python+Django+MySQL Django实验室管理系统 计算机毕业设计原创定制
    摘 要本论文主要论述了如何使用python语言、Django框架开发一个实验室管理系统,本系统将严格按照软件开发流程,进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述该系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分......
  • 20. 使用MySQL之更新和删除数据
    1.更新数据为了更新(修改)表中的数据,可使用UPDATE语句。可采用两种方式使用UPDATE:更新表中特定行;更新表中所有行。注意:不要省略WHERE子句:在使用UPDATE时一定要注意细心。因为稍不注意,就会更新表中所有行。UPDATE与安全:可以限制和控制UPDATE语句的使用,更多内容请......
  • MySQL高级语言(第一篇)
    1.SQL高级语言是什么?SQL(StructuredQueryLanguage)本身是一种用于管理和操作关系数据库的标准编程语言,它并不是传统意义上的“高级语言”如C++、Java或Python等。然而,在数据库管理和开发的语境中,人们有时会提到“SQL高级语言”或“SQL的高级特性”,这通常指的是SQL中那些更为复......
  • mysql常见的一些配置项
    MySQL有许多配置选项,可以用来调整其行为以满足特定的需求。以下是一些常见的配置选项,除了大小写敏感之外,这些配置选项也经常被调整:1.字符集和排序规则character_set_server:设置服务器的默认字符集。collation_server:设置服务器的默认排序规则。character_set_client......