Как получить промежуток времени между двумя датами в Oracle 9i? - PullRequest
1 голос
/ 04 декабря 2009

Какой лучший способ в Oracle 9i получить разницу между двумя датами, включая время? Что-то вроде функции Timespan в C #.

Спасибо, Чак

Ответы [ 3 ]

3 голосов
/ 04 декабря 2009

Вы можете выразить разницу в виде числа дней или в качестве интервала типа данных: http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/expressions9a.htm#1033525

2 голосов
/ 04 декабря 2009

Когда вы вычитаете две даты, вы получаете разницу в днях. Если вы умножите это число на 24, у вас будет разница в часах. Умножьте это число на 60, у вас будет разница в минутах и ​​т. Д.

0 голосов
/ 19 августа 2016

Когда вы делаете вычитание между датами (тип DATE), вы получаете число, которое представляет количество дней (обратите внимание, что это тип NUMBER (p, s), а не INTEGER, так как многие T-SQL люди запутываются в Oracle). Затем вы можете преобразовать это число в секунды, умножив его на 24 * 60 * 60.

n_diff := ABS(date1 - date2) * 24*60*60;
...