0

大家好,正确获取此 MYSQL 查询时遇到问题

SELECT * 
FROM tbl_problem 
WHERE user_id = 1
AND problem_solved != -1 
AND problem_timestamp BETWEEN '20110212' AND DATE('20110212', INTERVAL 14 DAY) 
ORDER BY problem_id

问题是 20110212 是由 php 动态生成的,这就是我使用 DATE/INTERVAL COMBO 的原因。

鉴于您知道该两周周期的开始日期,我想做的是在 2 周时间范围内选择条目。

提前致谢

4

2 回答 2

0

使用日期差异。

SELECT * 
FROM tbl_problem 
WHERE user_id = 1
AND problem_solved != -1 
AND DATEDIFF(problem_timestamp,'20110112') <= 14
ORDER BY problem_id
于 2011-02-22T12:42:09.663 回答
0

为什么不让 PHP 重新格式化它然后查询

SELECT * 
FROM tbl_problem 
WHERE user_id = 1
AND problem_solved != -1 
problem_timestamp > '2011-01-24' AND problem_timestamp < DATE_ADD('2011-02-12', INTERVAL 14 DAY) 
ORDER BY problem_id

要将 PHP 中的日期从当前格式转换为 MYSQL 格式,请使用

$date = date_create_from_format('Ymd', '20110212');
$mysqlDate = date_format($date, 'Y-m-d'); //2011-01-24
于 2011-02-22T12:40:09.143 回答