current_date,current_date函数可以计算日期吗
current_date函数可以计算日期吗
不可以
current_date()函数返回当前日期。如果在字符串上下文中使用,它将以”YYYY-MM-DD"格式返回当前日期。
如果在数字上下文中使用,它将以YYYYMMDD格式返回当前日期。
DATE_SUB(d,INTERVALexprtype)用于计算时间,函数返回起始日期d减去一个时间段后的日期
expr是一个表达式,用于指定从起始日期添加或减去的时间间隔值
求教ORACLE中sysdate和current
current_date与sysdate区别
在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别:
1. current_date返回的是当前会话时间,而sysdate返回的是服务器时间.
2.current_date有时比sysdate快一秒,这可能是四舍五入的结果.
3. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间, 根据东加西减的原则,current_date应该比sysdate快一小时.
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
20:01:26 SQL select current_date,sysdate from dual;
CURRENT_DATE SYSDATE
------------------- -------------------
2009-03-10 20:01:37 2009-03-10 20:01:37
Elapsed: 00:00:00.00
20:01:37 SQL select current_date,sysdate from dual;
CURRENT_DATE SYSDATE
------------------- -------------------
2009-03-10 20:01:43 2009-03-10 20:01:43
Elapsed: 00:00:00.01
20:01:43 SQL select current_date,sysdate from dual;
CURRENT_DATE SYSDATE
------------------- -------------------
2009-03-10 20:01:44 2009-03-10 20:01:43
注意,current_date与sysdate快了一秒
修改当前会话时区为东九区
alter session set time_zone='+09:00'
20:04:19 SQL select current_date,sysdate from dual
CURRENT_DATE SYSDATE
------------------- -------------------
2009-03-10 21:04:22 2009-03-10 20:04:22
第三十五章 SQL函数 CURRENT_DATE
日期/时间函数,返回当前本地日期。
CURRENT_DATE 不带任何参数。它将当前本地日期作为数据类型 DATE 返回。不允许使用参数括号。 CURRENT_DATE 返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。
在逻辑模式下 CURRENT_DATE 以 $HOROLOG 格式返回当前本地日期;
例如, 64701 。
显示模式下的 CURRENT_DATE 以区域设置的默认格式返回当前本地日期。
例如,在美国的区域设置为 02/22/2018 ,在欧洲的区域设置为 22/02/2018 ,在俄罗斯的区域设置为 22.02.2018 。
要指定不同的日期格式,请使用 TO_DATE 函数。要更改默认日期格式,请将 SET OPTION 命令与 DATE_FORMAT 、 Year_OPTION 或 DATE_SEFACTOR 选项配合使用。
要仅返回当前日期,请使用 CURRENT_DATE 或 CURDATE 。这些函数以 DATE 数据类型返回它们的值。 CURRENT_TIMESTAMP 、 GETDATE 和 NOW 函数也可用于将当前日期和时间作为 TIMESTAMP 数据类型返回。
请注意,除 GETUTCDATE 之外,所有 SQL时间和日期函数都特定于本地时区设置。要获得通用的当前时间戳(独立于时区),可以使用 GETUTCDATE 或ObjectScript $ZTIMESTAMP 特殊变量。
使用嵌入式SQL时,这些数据类型的执行方式不同。 DATE 数据类型将值存储为 $HOROLOG 格式的整数;当在SQL中显示时,它们将转换为日期显示格式;当从嵌入式SQL返回时,它们将作为整数返回。 TIMESTAMP 数据类型以相同的格式存储和显示其值。可以使用 CONVERT 函数更改日期和时间的数据类型。
CURRENT_DATE 可以用作 CREATE TABLE 或 ALTER TABLE 中的默认规范关键字。
下面的示例返回转换为显示模式的当前日期:
下面的嵌入式SQL示例返回存储的当前日期。由于此日期以 $HOROLOG 格式存储,因此将以整数形式返回:
以下示例显示如何在 WHERE 子句中使用 CURRENT_DATE 返回最近 1000 天内出生的人的记录: