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。

相关推荐
其实防守也摸鱼7 分钟前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化
jason.zeng@150220726 分钟前
canal做mysql的异步传输工具
数据库·mysql·linq
Ivanqhz31 分钟前
BURG(自底向上重写生成器)
服务器·数据库·人工智能·深度学习·算法
仍然.36 分钟前
Redis---主从复制
java·数据库·redis
其实防守也摸鱼1 小时前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
数字化顾问1 小时前
(142页PPT)PLM+ERP系统选型及建设方案建议书(附下载方式)
数据库
木白CPP1 小时前
[QNX] 深入理解 Resource Manager 接口设计
linux·服务器·数据库
Shadow(⊙o⊙)1 小时前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Mortalbreeze1 小时前
MySQL 基础篇(五):数据操作基础 —— CRUD
linux·服务器·数据库·mysql
Shadow(⊙o⊙)1 小时前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql