current_date,current_date函数可以计算日期吗

http://www.itjxue.com  2023-01-17 01:06  来源:未知  点击次数: 

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 天内出生的人的记录:

(责任编辑:IT教学网)

更多