我不能得到什麼在此查詢是錯誤的(Oracle查詢)比較日期與CURRENT_DATE在甲骨文
SELECT *
FROM HR.CUSTOMER C
dual
WHERE CREATED_AT = current_date
;
我收到此錯誤
ORA-00933: SQL command not properly ended
我不能得到什麼在此查詢是錯誤的(Oracle查詢)比較日期與CURRENT_DATE在甲骨文
SELECT *
FROM HR.CUSTOMER C
dual
WHERE CREATED_AT = current_date
;
我收到此錯誤
ORA-00933: SQL command not properly ended
在Oracle它不是current_date
,但sysdate
現在和trunc(sysdate)
今天。
此外,在您的查詢中有太多dual
。
select *
from hr.customer
where created_at = trunc(sysdate);
嗨Thorsten,Oracle中有CURRENT_DATE函數,但它根據客戶端的時區返回當前的日期和時間。 SYSDATE返回服務器時區中的當前日期。但是考慮到該字段被稱爲「CREATED_AT」,我希望它能夠更好地填充SYSDATE以使其在不同時區內保持一致。 Felix – fhossfel
@fhossfel:謝謝菲利克斯,我不知道。所以'CURRENT_DATE'確實存在,但我們不可能在這裏使用它。謝謝你的解釋。 –
既然你已經知道了表,並希望得到所有從它的列,你不需要使用雙
DUAL表是特殊的一排,一列目前由表在Oracle和其他數據庫安裝中默認爲 。在Oracle中, 表具有一個名爲DUMMY的VARCHAR2(1)列,其值爲 'X'。它適用於選擇僞列,如 SYSDATE或USER。
你可能只是使用下面的查詢,而不是
SELECT *
FROM HR.CUSTOMER
WHERE CREATED_AT = current_date;
刪除'dual',然後再試一次。 – krokodilko