Oracle DBMS_UTILITY.GET_TIME

Aks*_*edi 0 oracle datetime plsql date oracle12c

Question : 为什么我们将差异除以 100 以获得以秒为单位的时间?

Start
Get current time(Start Time)
Perform logical transaction
Get current time(End Time)
Subtract End Time – Start Time
Divide it by 100 to get total time in seconds. (Why 100?)
Stop
Run Code Online (Sandbox Code Playgroud)

试试下面的代码

declare START_TIME PLS_INTEGER;
begin

    START_TIME := DBMS_UTILITY.GET_TIME;
    DBMS_OUTPUT.PUT_LINE('START_TIME-->'|| START_TIME);

    dbms_lock.sleep(10);
    DBMS_OUTPUT.PUT_LINE('DBMS_UTILITY.GET_TIME-->'|| DBMS_UTILITY.GET_TIME);
    DBMS_OUTPUT.PUT_LINE('execution time --> ' || (dbms_utility.get_time - start_time)/100);
end;
Run Code Online (Sandbox Code Playgroud)

GMB*_*GMB 5

文档(重点是我的):

此函数确定以100 分之一秒为单位的当前时间。该子程序主要用于确定经过的时间。子程序被调用两次——在某个进程的开始和结束时——然后从第二个(后面的)数字中减去第一个(较早的)数字以确定经过的时间。

因此,您除以 100 以获得以秒而不是百分之几秒为单位的程序持续时间。