减去timestamps返回值时是interval数据类型.是否有一种优雅的方法可以将此值转换为间隔中的(毫秒/微秒)总数,即整数.
以下可行,但它不是很漂亮:
select abs( extract( second from interval_difference )
+ extract( minute from interval_difference ) * 60
+ extract( hour from interval_difference ) * 60 * 60
+ extract( day from interval_difference ) * 60 * 60 * 24
)
from ( select systimestamp - (systimestamp - 1) as interval_difference
from dual )
Run Code Online (Sandbox Code Playgroud)
SQL或PL/SQL中是否有更优雅的方法?
该管理员的要求作出解释的以下工作如何扔了一个点,这我不确定.
select sysdate + (interval_difference * 1440) - sysdate
from (select systimestamp - (systimestamp - 1) as interval_difference
from dual )
Run Code Online (Sandbox Code Playgroud)
也就是说,加号还是减号都有运算符优先级?文档1列出了运营商订单,如下所示
+----------------------------+-------------------------------------------+ | Operator |Operation | +------------------------------------------------------------------------+ | +, - (as unary operators) | Identity, negation, location in hierarchy | | , PRIOR, CONNECT_BY_ROOT | | +----------------------------+-------------------------------------------+ | *, / | Multiplication, division | +----------------------------+-------------------------------------------+ | +, - (as binary operators) | Addition, subtraction, concatenation | | , || | | +----------------------------+-------------------------------------------+
查询一旦减少就变成了date …