求教ORACLE中sysdate和current
关注:55 答案:3 手机版
解决时间 2021-02-26 20:56
提问者侢遇噹姩揂
2021-02-25 22:08
求教ORACLE中sysdate和current
最佳答案
二级知识专家孤寡少年
2021-02-25 22:21
sql:select sysdate from dual;此时查询的是日期的类型。
current_timestamp:它和设置的时区是有一定关系的。返回的日期和时间会根据时区转换过的。
sql:
alter session set time_zone='UTC';//设置时区
sql:SELECt TO_CHAr(SYSDATE,'YYYYMMDD HH24:MI:SS'), CURRENT_TIMESTAMP FROM DUAL;
查询结果:20150705 13:46:10 2015-07-05 13:46:10.120123。
全部回答
1楼棄療尐钕
2021-02-26 00:43
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
2楼亲亲兔耳朵
2021-02-25 23:22
求教oracle中sysdate和current
sysdate返回的是服务器的当前时间;
sql:select sysdate from dual;此时查询的是日期的类型。
current_timestamp:它和设置的时区是有一定关系的。返回的日期和时间会根据时区转换过的。
sql:
alter session set time_zone='utc';//设置时区
sql:select to_char(sysdate,'yyyymmdd hh24:mi:ss'), current_timestamp from dual;
查询结果:20150705 13:46:10 2015-07-05 13:46:10.120123。
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看