我有第一个问题
select count(*)
from `order`
where marketer_id = 75 and
HandleStatus != -1 and
(Created_at BETWEEN '2017-05-01' AND '2017-05-31')
结果是1050
我还有第二个问题:
select count(*)
from `order`
where marketer_id = 75 and
HandleStatus != -1 and
(Month(Created_at) =5 and Year(Created_at) = 2017)
结果是1111
我认为 2 个查询具有相同的含义,但它返回 2 个不同的结果。 关于列“Created_at”的信息:COLUMN_NAME Created_at,COLUMN_TYPE 时间戳,IS_NULLABLE NO,COLUMN_KEY,COLUMN_DEFAULT CURRENT_TIMESTAMP
请帮忙2个查询有什么区别?
最佳答案
如果考虑一天内的时间,第一次查询只返回2017-05-31 00:00:00之前的结果。 如果您在 2017-05-31 00:00:00 之后和 2017-05-31 23:59:59 之前(也可能精确到毫秒)有任何结果,它们只会出现在第二个查询中。
关于mysql - 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361937/