2017-04-19 37 views
0

試圖exctract年時,我得到一個錯誤,說明未知的令牌「年」從日期

令牌未知 - 2號線,列51 一年。

試圖執行下面的代碼片段時(第二次約會將是一個變量,而不是硬編碼)是比較條目年:

SELECT * FROM list_users 
WHERE ((extract(year from dt_create)) = (exctract(year from cast('01.01.2016' as date)))) 

我顯然試圖把它包起來所有的括號和投迄今爲止,但問題是,火鳥不承認year。我不想用字符串比較來解決問題,所以我會試着找出問題的根源。

回答

0

這是extract部分的錯字,寫入exCtract,由於firebird指出year部分是錯誤而未被注意。

+0

提示:當你在Firebird中得到一個未知的令牌時,還要檢查該令牌前面的內容。錯誤意味着解析器遇到了不能解釋的東西。這可能意味着當前令牌有問題,或者先前解析的令牌導致錯誤路徑。 –

+0

@MarkRotteveel是的,我主要使用C++,並且完全不瞭解數據庫和Firebird的細微差別。謝謝。 – Protheus