2016-10-20 72 views
-1
select * from ivoucher 
where date_format(date, '%Y-%m') = 
date_format(now(), '%2016-%Jul'); 

我試圖運行此查詢,但顯示缺少表達式錯誤。ora- 00936 missing exprssion

+1

您確定Oracle中有now()和date_format()嗎?此外,'日期'是一個保留字 – Aleksej

+0

另外,請發佈您的表結構,一些示例數據和所需結果 – Aleksej

+0

在[Oracle手冊]中(https://docs.oracle.com/database/121/SQLRF/toc .htm)你有沒有找到'date_format()'或'now()' –

回答

-3

select * from ivoucher where date_format('date','%Y-%m')= date_format(now(),'%​​2016-%Jul');

運行此cmd以獲取輸出。

+1

你試過嗎? – Aleksej

+0

是我的...... –

+2

我相信這會給Oracle中的錯誤 – Aleksej

0

我懷疑你是在當前月份之後的日期列(日期是一個非常糟糕的名字,因爲它是Oracle中的保留字,因此爲雙引號)

select * 
from ivoucher 
where trunc("DATE", 'mm') = trunc(sysdate, 'mm'); 

或者你可能在2016年7月特意做了什麼?如果是這樣的話:

select * 
from ivoucher 
where trunc("DATE", 'mm') = to_date('01/07/2016', 'dd/mm/yyyy');