2013-12-18 131 views
-1

我試圖創建一個查詢,它只會顯示發佈日期下方的「文章」。比如我可能有它有明天下午的發佈日期的文章,這是我做了,但似乎並沒有正常工作查詢:SQL查詢問題(日期比較)

SELECT a.id, CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name  END AS author 
FROM #__content AS a 
LEFT JOIN #__users AS ua ON ua.id = a.created_by 
LEFT JOIN #__categories AS c ON c.id = a.catid 
WHERE a.state='1' 
AND c.id!=1618 
AND a.publish_up >= NOW() 
AND a.title LIKE '%Europa no es una broma%' 

的publish_up日期返回此:2013-12- 19 20:55:00和今天的日期,這將是現在()返回相同的方式:2013-12-18 09:31:30(兩種相同的格式)。

我想要的只是那些低於今天日期的文章。

在此先感謝您的幫助!

+2

什麼是列類型'publish_up'?我也不清楚你的意思是「在發佈日期之下」......你想從查詢中獲得已發佈或尚未發佈的文章嗎? –

+0

這不是一個好問題,因爲它沒有描述確切的問題。表結構,示例數據,基於該數據的預期結果,當前結果,錯誤消息(如果有的話)... – GolezTrol

+0

對不完整的信息,我編輯了這個問題,希望能更好地解決這個問題。 – MONZTAAA

回答

1

試試這個

SELECT a.id, CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name  END AS author 
FROM #__content AS a 
LEFT JOIN #__users AS ua ON ua.id = a.created_by 
LEFT JOIN #__categories AS c ON c.id = a.catid 
WHERE a.state='1' 
AND c.id!=1618 
AND DATE(a.publish_up) < Date(NOW()) 
AND a.title LIKE '%Europa no es una broma%' 

製作使用日期()函數的值返回日期yyyy-mm-dd