3

以下のようなテーブルにデータがあります。

  **start_date**                         **end_date**
---------------                      -----------------
2011-06-27 13:24:45.137417          2011-06-28 05:34:26.54939
2011-09-30 09:09:00.501381          2011-10-03 23:38:46.479824

期待される結果は次のようになります。

Diff
-------
0.16
3.14

ここで、小数点の前の数字は「日」で、小数点の後の数字は「時間」です。

extract('epoch' from (end_date-start_date))/(3600*24) を使用して試します

ただし、「時間」の値は 100 の形式で与えられます。つまり、最初のレコードは 0.673395971909722、2 番目のレコードは 3.60400438012731 です。

4

1 に答える 1

6

ドキュメントのフォーマット関数を参照してください。

SELECT to_char(end_date - start_date, 'D.HH24') AS diff FROM your_table;
0.16
3.14

それが役に立てば幸い。

于 2012-08-24T13:21:10.687 に答える