oracle語句兩張表相減,看最后是否有誤差


有三張表,一張是系統表dual,一張是自己的表A,一張是自己的表B 

其中A和B查看最后得出的時間,然后和系統表相比,最后相減,看是否有相差,誤差多少秒

select total_seconds1,total_seconds2,total_seconds1-total_seconds2 AS gap from 
(select (hours+minutes+seconds) AS total_seconds1 from (
  select
  to_char(sysdate,('HH24'))*60*60 AS hours,
  to_char(sysdate,('mi'))*60 AS minutes,
  to_char(sysdate,'ss') AS seconds
  from dual
  )),
(
select (hours+minutes+seconds) AS total_seconds2 from (   select   to_char(sysdate,('HH24'))*60*60 AS hours,   to_char(sysdate,('mi'))*60 AS minutes,   to_char(sysdate,'ss') AS seconds   from(     select     to_char(f_quotation_time,'HH24:mi:ss')     from A tq,B tc where     tq.f_contract_id = (select f_id from B where f_symbol = 'AG') and tc.f_symbol = 'AG' )   ));

 

 

解讀:

解讀:

AS:是給前面的結果指定一個新的列

HH21:時

mi:分

ss:秒

 

1,首先找出A和B的時間最后算出秒數,然后在找出兩表相減,得出結果,結果gap列是新增的結果列是誤差值
2,下面B和C的查詢中是先找的時分秒,之后算出總秒
3,這個看着比較多,簡單的方法還未找到,還有一種是直接時分秒相減但是提示ORA-01722:無效數字,然后沒有找到處理方式就放棄這種了,最后用秒數相減

 

 最后得出零誤差


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM