18

日付から分を取得するようにこの関数を作成しましたが、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;
4

4 に答える 4

50

Oracle で 2 つの日付を減算すると、2 つの値の間の日数が得られます。したがって、代わりに数分で結果を得るために乗算する必要があります。

SELECT (date2 - date1) * 24 * 60 AS minutesBetween
FROM ...
于 2012-11-16T01:05:33.727 に答える