我的表某个字段是Datetime型 以" YYYY-MM-DD 00:00:00" 存放

A 2009-01-22 21:22:22
B 2009-01-22 19:21:11
C 2009-01-22 23:10:22

时间范围查找

现在想从table1查找’2021-01-12’ 到 ‘2021-01-25’ 的数据,要求包含12日全天和26日全天的数据,

现在用

select id, gmt_create from table1 where gmt_create between '2021-01-12' and '2021-01-25';

查出来的数据包含12日全天到25日全天的数据,但没有25的任何数据。
是因为:
SQL中 between and是包括边界值的,not between不包括边界值,不过如果使用between and 限定日期需要注意,between里面的范围日期格式为 ‘2021-01-12’ ,sql 默认会在后面加上’00:00:00’ , 最后的格式为 ‘2021-01-12 00:00:00’, 所以between ‘2021-01-12’ and ‘2021-01-26’, 转化为 ‘2021-01-12 00:00:00’ and ‘2021-01-25 00:00:00’ ,即gmt_create > ‘2021-01-12 00:00:00’ and gmt_create < ‘2021-01-25 00:00:00’ ,是不包含25日全天的时间的
所有如果想从table1查找’2021-01-12’ 到 ‘2021-01-26’ 的数据,要求包含12日全天和25日全天的数据,就要写成between ‘2021-01-12’ and ‘2021-01-26’, 这是从’2021-01-12 00:00:00’ 查到’2021-01-26 00:00:00’,就包含了25日全天的数据。

以下sql等价

select id, gmt_create from table1 where gmt_create > '2021-01-12' and gmt_create < '2021-01-26';select id, gmt_create from table1 where gmt_create > '2021-01-12 00:00:00' and gmt_create < '2021-01-26 00:00:00';
#上面的两中写法不会包含'2021-01-22 00:00:00'这一刻的数据,如果想包含可以这么写:
select id, gmt_create from table1 where gmt_create > '2021-01-12 00:00:00' and gmt_create < '2021-01-26 00:00:00' or gmt_create = '2021-01-12 00:00:00';##---------------------------------------------------------------------------##
select id, gmt_create from table1 where gmt_create between '2021-01-12' and '2021-01-26';select id, gmt_create from table1 where gmt_create between '2021-01-12 00:00:00' and '2021-01-26 00:00:00';
#上面的between写法会包含'2021-01-26 00:00:00'这一刻的数据,

查某一天的数据

如果写成

select id, gmt_create from table1 where gmt_create between '2021-01-12' and '2021-01-12';

只能查出2021-01-12 00:00:00 这一刻的数据

需要写成

select id, gmt_create from table1 where gmt_create between '2021-01-12 00:00:00' and '2021-01-12 23:59:59';

或者写成这样更精确

select id, gmt_create from crowd_analysis_cache where gmt_create > '2021-01-12 00:00:00' and gmt_create < '2021-01-13 00:00:00' or gmt_create = '2021-01-12 00:00:00';

sql between取时间范围相关推荐

  1. sql查取时间并进行相减后存入excel

    这里是封装成了一个函数 def calculate(date1, date2):detal = date2-date1#这里的时间为x day,xx:xx:xx的格式detal = str(detal ...

  2. SQL SERVER取时间书写方法大全

    目录 (一)前言 (二)Convert函数知识 1. 定义和用法 2. 语法 3.  可以使用的 style 值 4. 实例 (三)时间函数 1. 前提 2. 常用时间函数 (1)格式 (2)实例 ( ...

  3. java 必备面试必备

    1.JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含 ...

  4. oracle取时间最近的一条数据_当数据库最近一直卡顿时,第一时间应该用这条sql来分析...

    概述 国庆节偷个懒,分享一个关于锁的实用sql,不过统计是实时的,如果要查看一段时间的,建议将结果插入一张中间表. 一键获取锁相关信息 SELECT mm.inst_id, mm.sid, mm.TY ...

  5. Sql group by 分组取时间最新的一条数据

    1.取时间最新的记录 不分组有重复(多条CreateTime一样的都是最新记录) select * from test t where pid in (select PId from Test twh ...

  6. 数据产品-数据指标标签常用sql函数

    SQL能力是作为数据产品经理必不可少的技能,当然,作为数据产品,我们对SQL的查询效率的要求可能不像开发那么高.而对于SQL的学习一般也是只需懂DQL查询语言就行,对于DCL.DDL.DML这些一般只 ...

  7. 常用sql操作语句实战演示

    本文为原创博客,未经本人允许,禁止将本人的博客复制下来上传到百度文库等平台. 作者:合肥工业大学 管理学院 钱洋 1563178220@qq.com 目录 linux中或cmd中连接数据库 查看库名 ...

  8. Informix 11.5 SQL 语句性能监控方法及实现

    本文主要介绍 Informix 11.5 中 SQL 语句性能监控的基本方法及实现,希望能够使大家有一个比较全面的了解. 我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语 ...

  9. SQL:日期函数 year() month() day()

    1 select day(createtime) from life_unite_product --取时间字段的天值 2 3 select month(createtime) from life_u ...

最新文章

  1. 选择将正确答案的序号填在括号里_小学四年级数学第五单元训练题,答案非常详细,见过的都保存了...
  2. [转贴]IT外包服务商如何构建高效率的服务台运营机制
  3. java sortedset_Java类集-SortedSet接口 | 学步园
  4. vb for循环 combobox的使用 Print的使用
  5. protractor端到端测试简介
  6. SQLServer之深度分析Insert
  7. 分布式 和 集群的区别
  8. 信息系统项目管理师---运筹学计算
  9. 算法面试避坑指南,助你轻松应对Java面试
  10. day5-ATM和购物车
  11. Nvidia驱动负优化与GTX1070的测试
  12. 第一集 斗罗世界 引子 穿越的唐家三少
  13. 为海思u-boot快速生成reg_info.bin文件
  14. 让自己的底线一降再降,相当于没有底线
  15. 现代操作系统学习笔记三、死锁
  16. [2019HDU多校第一场][HDU 6578][A. Blank]
  17. 论文精读-基于双目图像的视差估计方法研究以及实现
  18. 智慧畜牧养殖管理系统
  19. USB供电不足的最终解决办法
  20. video标签android全屏,视频video标签在移动端微信中默认全屏播放的解决方案

热门文章

  1. 【K8S 七】Metrics Server部署中的问题
  2. 金融组织数字化研发管理的12种武器
  3. 计算机和计算机系统是什么意思啊,电脑bios是什么意思啊
  4. 老板为什么不愿意给你加工资?
  5. 机会透视:强势股中将诞生长线牛股
  6. Linux /proc与/sys目录分析
  7. entity framework异常: Invalid object name 'dbo.xxxxxx'.
  8. LeetCode-518-零钱兑换二
  9. 经济学自身利益最大化_怎么看:亚当斯密说,追求个人利益的最大化,就是整体利益的最大化?...
  10. 查找网站代码漏洞对网站木马后门查杀的清除