2017-09-02 106 views

回答

2

在Oracle它不是current_date,但sysdate現在和trunc(sysdate)今天。

此外,在您的查詢中有太多dual

select * 
from hr.customer 
where created_at = trunc(sysdate); 
+1

嗨Thorsten,Oracle中有CURRENT_DATE函數,但它根據客戶端的時區返回當前的日期和時間。 SYSDATE返回服務器時區中的當前日期。但是考慮到該字段被稱爲「CREATED_AT」,我希望它能夠更好地填充SYSDATE以使其在不同時區內保持一致。 Felix – fhossfel

+0

@fhossfel:謝謝菲利克斯,我不知道。所以'CURRENT_DATE'確實存在,但我們不可能在這裏使用它。謝謝你的解釋。 –

0

既然你已經知道了表,並希望得到所有從它的列,你不需要使用雙

DUAL表是特殊的一排,一列目前由表在Oracle和其他數據庫安裝中默認爲 。在Oracle中, 表具有一個名爲DUMMY的VARCHAR2(1)列,其值爲 'X'。它適用於選擇僞列,如 SYSDATE或USER。

你可能只是使用下面的查詢,而不是

SELECT * 
    FROM HR.CUSTOMER 
WHERE CREATED_AT = current_date;