1

我想以分钟为单位获得 sysdate 和 utcdate 之间的整数差异。这不起作用:

select ROUND((sysdate-SYS_EXTRACT_UTC(SYSTIMESTAMP))*1440,0) from dual

它给出了错误消息:ORA-00932:不一致的数据类型:预期的 NUMBER 得到 INTERVAL DAY TO SECOND 脚本第 21 行,语句第 1 行,第 52 列

该怎么办?非常感谢!

4

1 回答 1

1

试试这个。您必须先将 systimestamp 数据类型转换为日期类型,然后才能对这两个日期进行数学运算。也许有一个更优雅的解决方案,但这似乎有效。

SELECT ROUND (  (  SYSDATE
                 - TO_DATE (TO_CHAR (SYS_EXTRACT_UTC (SYSTIMESTAMP),
                                     'YYYY-MON-DD HH24:MI:SS'
                                    ),
                            'YYYY-MON-DD HH24:MI:SS'
                           )
                )
              * 1440,
              0
             )
  FROM DUAL
于 2013-11-21T15:11:27.767 回答