mysql事件日期排序

时间:2013-03-29 22:57:15

标签: mysql sql

我正在编写一个简单的事件php脚本作为一个利用mysql数据库的练习。 我试图按日期列出所有未来的节日,但它列出没有节日。

$ nowdate_?变量是今天的日,月和年。

SELECT   * 
FROM     Festivals
WHERE    startdate_y <= " . $nowdate_y . " 
AND      startdate_m >= " . $nowdate_m . "
AND      startdate_d > " . $nowdate_d . "
ORDER BY startdate_y asc,startdate_m asc,startdate_d asc 
LIMIT    0,15

我是否在查询中错误地接近了这个?

提前致谢

1 个答案:

答案 0 :(得分:0)

您无法比较部分日期。

你需要

WHERE DATE_FORMAT(
          STR_TO_DATE(
              CONCAT_WS('-', startdate_y, startdate_m, startdate_d),
              '%Y-%m-%d'),
          '%Y-%m-%d')
      > CURRENT_DATE

上述表达式可能需要一些修复,具体取决于日期字段中的确切内容。