Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle中将日期与当前_日期进行比较_Sql_Oracle - Fatal编程技术网

Sql 在Oracle中将日期与当前_日期进行比较

Sql 在Oracle中将日期与当前_日期进行比较,sql,oracle,Sql,Oracle,我无法获取此查询中的错误(ORACLE查询) 我得到了这个错误 ORA-00933: SQL command not properly ended 您的查询中有太多的dual 此外,在Oracle中,当前日期不是数据库的当前日期,而是会话的当前日期时间。虽然您的数据库服务器可能位于当前为晚上11点的时区,但您的PC上可能已经在第二天凌晨3点。无论何时在Oracle查询中发现当前日期,都很可能是错误的 在Oracle中,现在使用sysdate,今天使用trunc(sysdate) select

我无法获取此查询中的错误(ORACLE查询)

我得到了这个错误

ORA-00933: SQL command not properly ended

您的查询中有太多的
dual

此外,在Oracle中,当前日期不是数据库的当前日期,而是会话的当前日期时间。虽然您的数据库服务器可能位于当前为晚上11点的时区,但您的PC上可能已经在第二天凌晨3点。无论何时在Oracle查询中发现
当前日期
,都很可能是错误的

在Oracle中,现在使用
sysdate
,今天使用
trunc(sysdate)

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

由于您已经知道该表并希望从中获取所有列,因此不需要使用双精度

双表是一种特殊的一行一列表,由 Oracle和其他数据库安装中的默认设置。在甲骨文中 表有一个名为DUMMY的VARCHAR2(1)列,其值为 “X”。它适用于选择伪列,例如 系统日期或用户

您可以只使用以下查询

SELECT *
  FROM HR.CUSTOMER
 WHERE CREATED_AT = current_date;

请删除
dual
并重试。您好,Oracle中有一个CURRENT_DATE函数,但它会根据客户端的时区返回当前日期和时间。SYSDATE返回服务器时区中的当前日期。但考虑到该字段名为“CREATED_AT”,我希望它能更好地填充SYSDATE,以使其在不同时区之间保持一致。顺致敬意,Felix@fhossfel:谢谢,菲利克斯,我不知道。因此,
CURRENT_DATE
确实存在,但我们不太可能在这里使用它。谢谢你的解释。@ThorstenKettner虽然有评论解释了这一点,但我仍然认为这个答案值得编辑,因为它乍一看就令人困惑。@Line:谢谢。你是对的。我已经更正了我的答案。
SELECT *
  FROM HR.CUSTOMER
 WHERE CREATED_AT = current_date;