22

クライアントからのかなり難しいレポート リクエストを実行しようとしています。2 つの DateTime 列の違いを数分で取得する必要があります。さまざまな形式で切り捨てと丸めを使用しようとしましたが、意味のある組み合わせを思いつくことができないようです。これを行うエレガントな方法はありますか?そうでない場合、これを行う方法はありますか?

4

4 に答える 4

50
SELECT date1 - date2
  FROM some_table

差を日数で返します。時間の差を得るには 24 を掛け、分を得るには 24*60 を掛けます。そう

SELECT (date1 - date2) * 24 * 60 difference_in_minutes
  FROM some_table

あなたが探しているものでなければなりません

于 2008-10-15T20:14:30.307 に答える
11

デフォルトでは、オラクルの日付減算は結果を日数で返します。

したがって、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
于 2008-10-15T20:16:24.750 に答える
3

http://asktom.oracle.com/tkyte/Misc/DateDiff.html - 2012 年 1 月 30 日現在、リンクは無効になっています

これがリソースのようです:

http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551242712657900129

于 2008-10-15T20:13:46.567 に答える