我将日期作为字符串存储在表中(列名是'log_event') - 是的,我知道它应该是一个真实的日期类型 - 但我正在使用我没有创建的现有表等。
无论如何,日期在列中的形式为
“2014 年 8 月 14 日上午 1:01”(或下午)
我真的只是想根据字符串的日期部分获取一个 SELECT(我不关心我的 SELECT 的时间,我只需要日期在 date1 和 date2 之间的所有行) ,我试过了:
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y') > STR_TO_DATE('08/01/2014', '%m/%d/%Y')
但我的 SELECT 返回 NULL
(是的,我知道这不会在两个日期之间进行 SELECT - 我只是尝试逐步构建一个查询字符串以查看我做对了,然后再尝试进入下一个级别)
我也尝试通过以下方式格式化时间:
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y %l:%i %p') > STR_TO_DATE('08/01/2014 12:00 am', '%m/%d/%Y %l:%i %p')
它还返回一个 NULL 选择。
我哪里错了?