0

質問があります...sysdate と「作成時間」という名前の列の差を計算するにはどうすればよいですか? これはSQLの一部です(私はOracleデータベースを使用しています):

$g->select_command = "select c.case_id as \"NGM ID\",   
       s.NE_PRIORITAET as \"NE Prio\",
       case substr(s.NE_ID, 2,1)
         when '1' then 'Nord'
         when '2' then 'Nord' 
         when '3' then 'Ost'
         when '4' then 'Ost'
         when '5' then 'Mitte'
         when '6' then 'West'
         when '7' then 'Süd'
         when '8' then 'Mitte'
         when '9' then 'Süd'
         else          'Error'
       end as \"Region\",         
       c.STATUS_NGM as \"NGM Status\",
       s.AUFTRAG as \"Auftrag\",
       s.NE_ID as \"NE ID\",
       s.STATUS as \"SAP Status\",
       substr(to_char(to_timestamp(Sysdate, 'YYYY/MM/DD HH24:MI:SS') - to_timestamp(s.CREATION_TIME, 'YYYY/MM/DD HH24:MI:SS'), 'YYYY/MM/DD HH24:MI:SS'), 8) as \"Diff Beginn Sap Ende\",
       case trim(s.KATEGORIE)
         when '1' then 'INSLA'
         when '2' then 'OUTSLA'
         else          s.KATEGORIE
       end as \"SLA\",
       c.CREATION_TIME as \"NGM Creation Time\",
4

2 に答える 2

2

2 つの日付の差を日数で取得したい場合は、次のように単純に減算操作を使用できます。

with s as (
  select to_date('2014-01-01', 'YYYY-MM-DD') CREATION_TIME from dual
)
select sysdate - s.CREATION_TIME
  from s

DIFF
--------------
226.6314236111
于 2014-08-15T15:00:10.120 に答える
1

Oracle では、日付とタイムスタンプを減算するときに 2 つの異なるデータ型があります。2 つの DATE データ型の間の距離は数値であり、単位は日を表します。2 つの TIMESTAMP データ型の間の距離は、INTERVAL DAY TO SECOND です。これは、日:時:分:秒形式で視覚化するために用意されたデータ型です。

select sysdate-to_date('2014.08.15','YYYY.MM.DD') as date_type
     , systimestamp - to_timestamp('2014.08.15','YYYY.MM.DD') as ts_type
     , dump(sysdate-to_date('2014.08.15','YYYY.MM.DD')) as date_datatype
     , dump(systimestamp - to_timestamp('2014.08.15','YYYY.MM.DD')) as ts_datatype
  from dual;

 DATE_TYPE
----------
TS_TYPE
---------------------------------------------------------------------------
DATE_DATATYPE
--------------------------------------------------------------------------------
TS_DATATYPE
--------------------------------------------------------------------------------
,972719907
+000000000 23:20:43.608000
Typ=14 Len=8: 0,0,0,0,75,72,1,0
Typ=190 Len=24: 0,0,0,0,23,0,0,0,20,0,0,0,43,0,0,0,0,88,61,36,10,0,0,0
于 2014-08-15T21:25:40.557 に答える