记录|SQL中日期查询出现的问题
目录
- 前言
- 一、BETWEEN AND问题
- 二、时间带有时分秒
- 更新时间
前言
参考文章:
一、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:创建。