Oracle-2つのDateTime列の差を分単位で取得するのに最適なSELECTステートメント
質問
クライアントからのかなり難しいレポートリクエストを処理しようとしていますが、2つのDateTime列の違いを数分で取得するために離れる必要があります。さまざまなフォーマットでtruncとroundを使用しようとしましたが、来ないようです。理にかなった組み合わせでこれを行うエレガントな方法はありますか?そうでない場合、これを行う何か方法はありますか?
解決
SELECT date1 - date2
FROM some_table
日数の差を返します。 24を掛けて時間の差を取得し、24 * 60で分を取得します。だから
SELECT (date1 - date2) * 24 * 60 difference_in_minutes
FROM some_table
探しているものでなければなりません
他のヒント
デフォルトでは、Oracleの日付の減算は#日で結果を返します。
したがって、24を掛けて時間数を取得し、再び60を分数で取得します。
例:
select
round((second_date - first_date) * (60 * 24),2) as time_in_minutes
from
(
select
to_date('01/01/2008 01:30:00 PM','mm/dd/yyyy hh:mi:ss am') as first_date
,to_date('01/06/2008 01:35:00 PM','mm/dd/yyyy HH:MI:SS AM') as second_date
from
dual
) test_data
http://asktom.oracle.com/tkyte/Misc/DateDiff.html -2012-01-30の時点でリンク切れです
リソースは次のように見えます:
http://asktom.oracle.com/pls/asktom /ASKTOM.download_file?p_file=6551242712657900129
所属していません StackOverflow