SYSDATE and CURRENT_DATE in Oracle DB

原创 2012年03月30日 09:55:27

Term: SYSDATE

Definition:
In Oracle PL/SQL, SYSDATE is a pseudo column which always returns the operating system's current datetime value of
DATE type. The format of theDATE output depends on the value ofNLS_DATE_FORMAT initialization parameter.

Note that:

  1. The SYSDATE function requires no arguments.
  2. You cannot use the SYSDATE function in the condition of a CHECK constraint.

Term: CURRENT_DATE

Definition:
The Oracle CURRENT_DATE function returns the current datein the session time zone, in a value in the Gregorian calendar of datatype
DATE. The format in which the date is displayed depends onNLS_DATE_FORMAT parameter. The default setting ofNLS_DATE_FORMAT isDD-MON-YY. This returns a 2-digit day, a three-character month abbreviation, and a 2-digit year.

 

/* Lastly, notice the behavior of CURRENT_DATE andSYSDATE Current_Date (new with 9i) is a lot likeSYSDATE but is timezone sensitive. */

SELECTTO_CHAR(CURRENT_DATE, 'dd-mon-yyyy hh24:mi:ss'),
TO_CHAR(sysdate, 'dd-mon-yyyy hh24:mi:ss')
FROMDUAL;

ALTER SESSION SET time_zone = local;

SELECTTO_CHAR(CURRENT_DATE, 'dd-mon-yyyy hh24:mi:ss'),
TO_CHAR(sysdate, 'dd-mon-yyyy hh24:mi:ss')
FROMDUAL;

 

 

SELECT dbtimezoneFROM dual;

--gives the timezone of the oracle server

SELECT sessiontimezoneFROM dual;

--gives the timezone of the oracle session.

 

SELECT * FROM V$TIMEZONE_NAMES

--returns timezone region name

 

select tz_offset( sessiontimezone ) from dual

--returns offset time for time zone region name.

 

References:

TIMESTAMP: http://psoug.org/reference/timestamp.html

SESSIONTIMEZONE : http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions143.htm

ALTER TIME ZONE: http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_2012.htm

V$TIMEZONE_NAMES: http://docs.oracle.com/cd/B12037_01/server.101/b10755/dynviews_2148.htm

current_date与sysdate区别

在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别: 1. current_date返回的是当前会话时间,而sysdate返回的是服务器时...
  • china1000
  • china1000
  • 2012年08月17日 12:19
  • 659

Oracle current_date和sysdate时间不一致

前段时间,发现一套新装载的Rac数据库所在操作系统时间不对,查询dbtimezone发现为-06:00,说明时区不对; select dbtimezone from dual; DBTIM...
  • sunjiapeng
  • sunjiapeng
  • 2014年06月29日 23:32
  • 4642

oracle sysdate,systimestamp,current_date,current_timestamp

select sysdate,systimestamp,current_date,current_timestamp from dual;     这条语句返回 系统当前时间的三个版本,也有人这...
  • yhmhappy2006
  • yhmhappy2006
  • 2011年12月14日 23:57
  • 4400

求教ORACLE中sysdate和current_timestamp的区别?

求教ORACLE中sysdate和current_timestamp的区别?  Oracle 专业回答 198901245631  java工程师 宇鹏网络java工程师 ...
  • evilcry2012
  • evilcry2012
  • 2016年07月25日 13:10
  • 2173

SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)——日期操作

练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是...
  • zengchaoyue
  • zengchaoyue
  • 2012年12月05日 14:57
  • 7601

Oracle的当前系统时间可以用 SYSDATE

如果插入Oracle的当前系统时间可以用 SYSDATE INSERT INTO FLOOR VALUES ( SYSDATE ) ; 往Oracle数据库中插入日期型数据(to_date...
  • K_Men
  • K_Men
  • 2017年03月07日 15:13
  • 977

oracle 日期常用函數 (SYSDATE、日期格式)

SYSDATE   2 --◎ 可得到目前系統的時間     ...
  • guyong1018
  • guyong1018
  • 2008年03月14日 17:14
  • 77742

oracle中sysdate时间的加减

1、select sysdate,add_months(sysdate,12) from dual     显示2017/4/17 14:47:35 2018/4/17 14:47:35  ----...
  • jjwyll
  • jjwyll
  • 2017年04月17日 15:16
  • 709

postgresql的now()与Oracle的sysdate

postgresql的now()为当前事务开始时间, 而Oracle的sysdate是当前时间。 区别在于事务。 postgresql中的now(): postgres=# begin ; BEG...
  • ghostliming
  • ghostliming
  • 2017年06月20日 11:38
  • 772

Oracle sysdate 时间加减

加法   select sysdate,add_months(sysdate,12) from dual;        --加1年  select sysdate,add...
  • z69183787
  • z69183787
  • 2014年03月28日 16:23
  • 12499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SYSDATE and CURRENT_DATE in Oracle DB
举报原因:
原因补充:

(最多只允许输入30个字)