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。

相关推荐
海南java第二人4 分钟前
ClickHouse 列式存储深度解析:优点、缺点与选型实战
数据库·clickhouse
李白客16 分钟前
MySQL迁移操作手册:一次完整迁移的实战路径
数据库·mysql
晴天¥40 分钟前
Oracle 19c RAC修改监听默认端口
数据库·oracle
皮卡祺q1 小时前
【redis1】基本指令,五大数据类型,存储优化,使用场景】
数据库·redis·缓存
杜子不疼.1 小时前
Agent Skills 的演进治理与 Swarm Skills 自演进
服务器·数据库·microsoft
wanghowie1 小时前
26.v3 核心升级:语义层 + 指标体系——禁止 LLM 直连 SQL
数据库·sql
袋鼠云数栈1 小时前
数栈 V7.0 多模态数据智能平台:打造 AI-Ready 的企业数据底座
大数据·数据结构·数据库·人工智能·数据治理·多模态
Mr. zhihao1 小时前
Redis Bitmap:BitCount、bitTop的使用业务场景
数据库·redis·缓存
永远不会出bug1 小时前
PgSql数据库函数
数据库
Volunteer Technology1 小时前
Flink Sink
大数据·数据库·flink