在ORACLE SQL中用十进制减法

格里莫

我需要减去给定格式的2个时间戳:

16/01/17 07:01:06,165000000 
16/01/17 07:01:06,244000000

我想用2个十进制值表示结果,但是在CAST过程中的某个地方,我失去了精度。我现在的逃避方式是这样的:

select 
  id,
  trunc((CAST(MAX(T.TIMESTAMP) AS DATE) - CAST(MIN(T.TIMESTAMP) AS DATE))*24*60*60,2) as result 
from table T
group by id;

但是id_1 '0'即使将截断小数设置为2,我还是得到了上面两个时间戳的结果。

有没有一种方法可以将减法结果获得0.XX aa?

古尔温德·辛格(Gurwinder Singh)

这是因为您正在转换时间戳。

使用to_timestamp你的字符串转换为时间戳。

试试这个:

with your_table(tstamp) as (
  select '16/01/17 07:01:06,165000000' from dual union all
  select '16/01/17 07:01:06,244000000' from dual
),
your_table_casted as (
    select to_timestamp(tstamp,'dd/mm/yy hh24:mi:ss,ff') tstamp from your_table
)
select trunc(sysdate + (max(tstamp) - min(tstamp)) * 86400 - sysdate, 2) diff 
from your_table_casted;

两个时间戳记之间的时差为INTERVAL DAY TO SECOND

要将其转换为秒,请使用上面的技巧。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SQL中将十进制数转换为货币(Oracle)

来自分类Dev

oracle sql中的十进制到小时错误01850

来自分类Dev

十进制分隔符oracle

来自分类Dev

Javascript十进制减法

来自分类Dev

Oracle为某个NUMBER(4)列返回十进制

来自分类Dev

Varchar转换为十进制Oracle 11g

来自分类Dev

大十进制减法导致指数

来自分类Dev

使用oracle将十进制转换为带有前导零的十六进制

来自分类Dev

如何在Oracle的十进制列中插入空值或空值?

来自分类Dev

Oracle SUM(TO_NUMBER(REGEXP_SUBSTR,带有十进制数字

来自分类Dev

Oracle:格式化要显示的十进制数字

来自分类Dev

在oracle VIEW中将varchar2值转换为十进制

来自分类Dev

在 Oracle 上使用十进制将 VARCHAR 转换为 NUMBER

来自分类Dev

大十进制数减法不起作用

来自分类Dev

如何在Oracle中使用正则表达式从字符串中仅获取十进制数

来自分类Dev

在Oracle中读取两个长的十进制小数的结果时,DataReader抛出“指定的转换无效”

来自分类Dev

devart oracle 9.3-实体框架 7(或核心 1)映射无法在 Visual Studio 2017 中识别十进制

来自分类Dev

在BASH中用十进制数字命名文件

来自分类Dev

SQL Force显示十进制值

来自分类Dev

十进制到整数在SQL

来自分类Dev

SQL选择十进制不为0

来自分类Dev

SQL-连接十进制范围

来自分类Dev

CakePHP SQL十进制输入形式

来自分类Dev

SQL:从varchar中提取十进制

来自分类Dev

从sql中提取十进制值

来自分类Dev

JavaScript算术减法提供多余的不需要的十进制数字

来自分类Dev

Python:十进制加减法没有给出确切的结果

来自分类Dev

varchar字段之间的MySQL减法会以非常高的精度返回十进制

来自分类Dev

十进制列的SQL Sum函数返回int而不是十进制

Related 相关文章

热门标签

归档