日付から分を取得するためにこの関数を作成しましたが、2つの日付の間に分を取得することはできません。
FUNCTION get_minute(p_date DATE)
RETURN NUMBER
IS
BEGIN
IF p_date IS NOT NULL THEN
return EXTRACT(MINUTE FROM TO_TIMESTAMP(to_char(p_date,'DD-MON-YYYY HH:MI:SS'),'DD-MON-YYYY HH24:MI:SS'));
ELSE
RETURN 0;
END IF;
END get_minute;
Oracleで2つの日付を減算すると、2つの値の間の日数が得られます。そのため、代わりに数分で結果を得るために乗算する必要があります。
SELECT (date2 - date1) * 24 * 60 AS minutesBetween
FROM ...
(日付の代わりに)2つのタイムスタンプを使用したい場合、同様の解決策があります。
SELECT ( CAST( date2 AS DATE ) - CAST( date1 AS DATE ) ) * 1440 AS minutesInBetween
FROM ...
または
SELECT ( CAST( date2 AS DATE ) - CAST( date1 AS DATE ) ) * 86400 AS secondsInBetween
FROM ...