2017-09-02 62 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;