当我使用 NOW()、CURDATE() 和 php date('Y-m-d', strtotime('now')) 时,MySQL 给我一个日期小于今天的日期的问题。下面是我的查询和结果
SELECT j.*
,j.id AS job_id
,c.company_name
,images.*
FROM jobs j
,companies c
,images images
WHERE j.user_id = c.user_id
AND images.user_id = j.user_id
AND j.description LIKE '%php%'
OR j.title LIKE '%php%'
AND j.start_date <= '2014-03-19'
AND j.end_date > '2014-03-19'
AND j.published = 1
GROUP BY j.id ASC
ORDER BY j.featured DESC
结果
start_date: 2013-12-08 end_date: 2014-01-08
是否有理由返回此结果?
最佳答案
您可能需要将查询的OR
相关部分更改为...
AND (j.description LIKE '%php%' OR j.title LIKE '%php%')
看,OR
优先级低于AND
(同理+
运算符的优先级低于*
一)。所以它基本上将整个条件集分成两部分,如果这些部分任何通过检查,则整个条件通过检查。
关于php - MySQL大于日期返回小于给定日期的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22515788/