SQL DATE()函数会抹去时间戳

问题描述:最近交易时间控件是一个秒粒度的选择器,但是发现选择00:23:00~23:00:00

和00:00:00~23:00:00 的结果不一致,已知现有数据是九点后的,理论上数据应该一致

sql:

红框为原写法,修改点只是去掉了date函数

原因:

这个函数会把时间戳抹掉,只保留日期,导致:

  • 原SQL 时间:>= '2026-04-22 00:00:00'``DATE() 之后 = 2026-04-22,能匹配
  • 新SQL 时间:>= '2026-04-22 00:23:00'``DATE() 之后 = 2026-04-22,字符串比较不成立

简单说:

DATE(字段) >= '2026-04-22 00:23:00' 永远不成立! 因为左边是 2026-04-22,右边是带时间的字符串,比较结果是 false。

相关推荐
码士集团小青1 小时前
面霸篇:高频 Java 基础问题(核心卷一)
linux·服务器·数据库·redis·缓存·1024程序员节
LMT流氓兔2 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节
cuijiecheng20182 小时前
WeFlow 无法使用怎么办?一次数据库组件到期问题的排查与修复
数据库·oracle
一条泥憨鱼3 小时前
【Redis | 黑马点评】附近商铺功能源码解读
数据库·redis·缓存
念何架构之路4 小时前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFields
java·数据库·golang
EnCi Zheng4 小时前
PostgreSQL 实战指南:安装配置、数据类型、索引选型、MVCC 事务与高可用备份全解析
数据库·sql·postgresql·索引·1024程序员节
泡海椒5 小时前
JQuick-SQL REST API 数据接入:应用层调用接口后注册分析表
数据库·sql·1024程序员节
Random Glow5 小时前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
handsome_sai6 小时前
mysql索引
sql·1024程序员节