【发布时间】:2021-03-15 18:24:21
【问题描述】:
我有这个查询(看看日期之间):
SELECT user_name, COUNT(*) AS 'COUNT'
FROM user_records
WHERE date_created between (STR_TO_DATE('11/24/2020','%m/%d/%y'))
and (STR_TO_DATE('12/26/2021','%m/%d/%y'))
GROUP BY user_name ;
选择是在日期之间:
开始日期: (STR_TO_DATE('11/24/2020','%m/%d/%y'))
finishDate: (STR_TO_DATE('12/26/2021','%m/%d/%y'))
此查询将返回一些内容,因为在 2020
年有记录问题是当我更改完成日期的月份时,我尝试过:
finishDate: (STR_TO_DATE('1/26/2021','%m/%d/%y')) = null
finishDate: (STR_TO_DATE('01/26/2021','%m/%d/%y')) = null
finishDate: (STR_TO_DATE('10/26/2021','%m/%d/%y')) = null
这毫无意义...我使用的是 mysql community 8.0.20
【问题讨论】:
-
你为什么用
str_to_date()和文字日期,只要输入正确格式的日期YYYY-MM-DD -
最后一个 STR_TO_DATE 都没有返回 NULL。你到底是什么问题?
-
同上@forpas 所说的,在这里工作正常
-
SHOW WARNINGS\G的输出是什么? -
你有没有看到类似的东西……
Level: Warning Code: 1411 Message: Incorrect datetime value: '00/00/0000' for function str_to_date
标签: mysql sql str-to-date