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。

相关推荐
敲个大西瓜5 小时前
Redis一百道核心面试题
数据库·redis·缓存
阿里云大数据AI技术5 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
無a伟8 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水9 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv9 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris9 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils9 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春10 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_11 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
杨云龙UP11 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad