记录|SQL中日期查询出现的问题

目录


前言

参考文章:


一、BETWEEN AND问题

假设这是我的表中信息:

我想查询2024-10-16到2024-10-17的数据,理论上用Between and就行,如下所示:

sql 复制代码
SELECT create_time AS '日期', historical_alarm AS '报警信息' FROM historical_alarm_info WHERE create_time BETWEEN '2024-10-16' AND '2024-11-17' ORDER BY id DESC

但是,实际上,这个是查询不到2024-11-17 11::06:51的。应该用下面的语句:

sql 复制代码
SELECT create_time AS '日期', historical_alarm AS '报警信息' FROM historical_alarm_info WHERE create_time BETWEEN '2024-10-16' AND '2024-10-17 23:59:59' ORDER BY id DESC

虽然这样解决了查询的时候范围不是闭空间的问题。但是这样查询出来后的时间是带时分秒的。


二、时间带有时分秒

查询后的结果是不希望带上时分秒,该怎么做?

那就使用 DATE() 函数来提取日期部分

sql 复制代码
SELECT DATE(create_time) AS '日期', historical_alarm AS '报警信息' FROM historical_alarm_info WHERE create_time BETWEEN '2024-10-16' AND '2024-10-17 23:59:59' ORDER BY id DESC

执行后的结果为:


更新时间

  • 2024.10.30:创建。
相关推荐
Edingbrugh.南空5 分钟前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
码不停蹄的玄黓27 分钟前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
爱上语文1 小时前
Redis基础(6):SpringDataRedis
数据库·redis·后端
Java初学者小白1 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
丶意冷2 小时前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
时序数据说4 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
戒不掉的伤怀4 小时前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
cv高级工程师YKY4 小时前
服务器 - - QPS与TPS介绍
数据库
nbsaas-boot4 小时前
高可扩展属性建模设计:架构师的全局思考与落地方案
数据库
爱上语文5 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端