2016-02-17 105 views
1

在TableAdapter配置嚮導中,我的SQL語句出現問題。在datetime SQL中需要幫助語法

我想根據當前日期過濾該特定年份的CreatedDate。所以我使用Year()函數,但是在執行時會提示錯誤消息。

Error Message Prompt

下面是我的SQL語句。

SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason 
FROM cff, cffitemstatus 
WHERE cff.RecordNo = cffitemstatus.RecordNo 
    AND (cff.CreatedDate = `YEAR`(CURDATE())) 
ORDER BY cff.RegionalOffice, cffitemstatus.Reason 

需要指導和建議在這個問題上。

+0

您已經使用周圍的'YEAR'函數名反引號,只是刪除它們,都應該很好語法。 'YEAR(CURDATE())'我希望你也需要應用於'cff.CreatedDate'的YEAR函數,以及'AND YEAR(cff.CreatedDate)= YEAR(CURDATE()' – RiggsFolly

回答

2

您應該學會使用明確的JOIN語法。簡單的規則:從不FROM子句中使用逗號。

然後,一個方法做你想要的是在這兩個日期使用YEAR()

SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason 
FROM cff JOIN 
    cffitemstatus 
    ON cff.RecordNo = cffitemstatus.RecordNo 
WHERE YEAR(cff.CreatedDate) = YEAR(CURDATE()) 
ORDER BY cff.RegionalOffice, cffitemstatus.Reason;