当前位置:   article > 正文

sql:between and日期毫秒精度过多导致的查询bug

sql:between and日期毫秒精度过多导致的查询bug

复现

一般情况下,前端传的日期值大多都是yyyy-MM-dd HH:mm:ss(标准格式),比如2024-06-25 10:49:50,但是在测试环境,测试人员测出了一个带毫秒的日期:比如2024-06-25 10:49:50.9999999 这种情况下会出现查询bug

SELECT * FROM user
WHERE create_time between '2024-06-25T00:00:00'
           AND '2024-07-01T23:59:59.9999999'
  • 1
  • 2
  • 3

按理来说,不会查到2024-07-02的数据,但是能查到:
在这里插入图片描述

解决

1、后端查询之前格式化日期:yyyy-MM-dd HH:mm:ss
2、前端传值之前格式化日期:yyyy-MM-dd HH:mm:ss

原因

不晓得,我研究一下再补充。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/759677
推荐阅读
相关标签
  

闽ICP备14008679号