ORACLE:绝对值函数问题 怎么取到两个精确到毫秒的时间差的绝对值?比如abs(time1-time2) 会报错,应为数据类型问题....请指教... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么会呢?都是date类型么?不是的话转成同一种类型再相减取abs TIME1,TIME2的精确度是毫秒,相减后得到的是类似于这种+000000000 00:00:01.000数据,但怎么取到相差毫秒的绝对值呢?不如说相差3毫秒(abs(time1,time2)<3)?.. abs((time1-time2)*24*60*60) 还是报错的.. 毫秒的格式 是+000000001 00:00:00.421000 这样的 取不了绝对值 to_number也不行确实是个问题 SQL> select * from t1 where b=1; A B-------------------------------------------------------------------------------- --29-7月 -10 12.00.02.458100 下午 1 SQL> SELECT CASE WHEN systimestamp>a THEN 1 END FROM t1 WHERE b=1 ; CASEWHENSYSTIMESTAMP>ATHEN1END------------------------------ 1 SQL> 用case when 吧,直接取绝对值是不行的 case when ts1>ts2 then ts1-ts2 when ts1<ts2 then ts2-ts1 else 0 end 9i以上版本可以使用SYSTIMESTAMP,试试以下的方法: SELECT SUBSTR(SYSTIMESTAMP -CURRENT_TIMESTAMP,2) times FROM dual --使用substr把符号过滤掉 结果: 000000000 00:00:00.000012 自表关联统计查询 如何学习ORACLE? 从mysql导入到oralc 10中 请教,创建存储过程总报错? 关于新旧系统数据转换的问题 连接到数据库时提示已连接到空闲例程,无法执行SQL语句 如何对Oracle数据移植? 在oracle8i数据库中,表中的数据删除后如何释放多余的空间? 紧急求助,oracle中的工具,R6 有没有人用过,实干什么用的!请大家给于帮助,很急! oracle compress 并行插入问题 VC 数据库 显示表的几个问题 关于分组统计的一个问题,高手们帮帮忙!!!!
取不了绝对值 to_number也不行
确实是个问题
A B
-------------------------------------------------------------------------------- --
29-7月 -10 12.00.02.458100 下午 1
SQL> SELECT CASE WHEN systimestamp>a THEN 1 END FROM t1 WHERE b=1 ;
CASEWHENSYSTIMESTAMP>ATHEN1END
------------------------------
1
SQL>
when ts1<ts2 then ts2-ts1
else 0
end
000000000 00:00:00.000012