0

というテーブルがありますC_Order。列 UPDATEDとがありCREATEDます。データ型はどちらもDate、1サンプルデータ

CREATED= TO_DATE('2015-09-02 14:03:56', 'SYYYY-MM-DD HH24:MI:SS') UPDATED=TO_DATE('2015-09-02 14:07:19', 'SYYYY-MM-DD HH24:MI:SS')

これら 2 つの日付の差を日、時間、分で取得する必要があります。

使用してみDateDiffましたが、機能しません。また、日付を減算しましたが、得られたのは0,00123のようなものです。日、時間、分で結果を出すにはどうすればよいですか?

4

3 に答える 3

1

日々

select date_col1 - date_col2 from table_name;

時間

select
    24 * (date_col1 - date_col2) 
table_name;

select (date_col1 - date_col2) * 1440
from table_name;
于 2015-09-16T05:46:50.123 に答える
0

両方の列を a にキャストするとtimestamp、一方を他方から減算した結果がinterval

間隔は、期間を日、時間、分、および秒で表します。

select cast(created as timestamp) - cast(updated as timestamp) 
from the_table;
于 2015-09-16T05:55:39.483 に答える
0

答えが見つかりました、ここにあります:

SELECT to_number( to_char(to_date('1','J') +
              ("UPDATED" - CREATED), 'J') - 1)  days,
               to_char(to_date('00:00:00','HH24:MI:SS') +
               ("UPDATED" - CREATED, 'HH24:MI:SS') time
        FROM C_ORDER;
于 2015-09-16T06:28:00.227 に答える