1、sysdate、current_date及systimestamp
sysdate
Oracle使用计算机操作系统的当前日期和时间,是通过sysdate函数实现的,在任何可以使用Oracle函数的地方都可以使用sysdate函数,可以将它视为每个表的一个隐藏列或者伪列。也就是说即使一张表没有sysdate这个字段,也可以如下这样查询。
select sysdate from all_users;
>> 2022-10-15 23:09:37
current_date
此字段返回的是当前会话的时区的系统日期,我们一般使用的是东八区的时间,如果将当前会话时间修改成东九区试试:
alter session set time_zone='+09:00';
select current_date, sysdate from dual;
>> 2022-10-15 10:11:51 2022-10-15 09:11:51
通过例子就很明显看出两者区别了,一个依赖于时区,一个不依赖。
systimestamp
函数systimestamp,它返回的是本机的系统时间,精确到微秒,并包含了当前时区,它跟会话的时区无关。
select systimestamp from dual
>> 2022-10-15 23:15:43.699000 +08:00
本文源自第六十九期《51测试天地》
《Oracle 日期函数知识整理》一文
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第六十九期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。