gpt4 book ai didi

跨越多年的日期之间的 mySQL

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:29 26 4
gpt4 key购买 nike

您好,我想知道为什么这个语句在 mySQL 中有效

SELECT COUNT(*) AS `numrows` 
FROM (`myTable`)
WHERE DATE_FORMAT(creationDateTime, '%m/%d/%Y') BETWEEN '02/21/2011' AND '03/20/2011'

但这不是

SELECT COUNT(*) AS `numrows` 
FROM (`myTable`)
WHERE DATE_FORMAT(creationDateTime, '%m/%d/%Y') BETWEEN '12/21/2010' AND '03/20/2011'

第一个语句返回行数的'xx',而第二个语句返回'0'

我看到的唯一区别是“开始”日期是 2010 年,“结束”日期是 2011 年。为了测试这是否是我从“12/31/2010”查询的问题,它仍然给了我0 个结果,但是当我将开始日期设置为“2011 年 1 月 1 日”时,它给了我在该时间跨度内创建的记录数。

关于 mySQL 的 BETWEEN 和使用不同年份的日期,我是否遗漏了什么?

感谢您的帮助!

最佳答案

尝试使用日期格式 BETWEEN '2010-12-21' AND '2011-03-20'。同时删除 DATE_FORMAT() 函数。

所以,这个:

SELECT COUNT(*) AS `numrows` 
FROM `myTable`
WHERE creationDateTime BETWEEN '2010-12-21' AND '2011-03-20'

关于跨越多年的日期之间的 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com