Bootstrap

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


前言

参考文章:


一、BETWEEN AND问题

假设这是我的表中信息:
在这里插入图片描述
我想查询2024-10-16到2024-10-17的数据,理论上用Between and就行,如下所示:

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的。应该用下面的语句:

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() 函数来提取日期部分

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:创建。
;