Fra*_*ank 12 oracle plsql date
我写这个函数是为了从日期中得到分钟,但我不能在两个日期之间得到分钟,如何得到它?
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;
Run Code Online (Sandbox Code Playgroud)
lc.*_*lc. 37
在Oracle中减去两个日期时,您将获得两个值之间的天数.所以你只需要在几分钟内相乘得到结果:
SELECT (date2 - date1) * 24 * 60 AS minutesBetween
FROM ...
Run Code Online (Sandbox Code Playgroud)
对于那些想要两个时间戳(而不是日期)的人,有一个类似的解决方案:
SELECT ( CAST( date2 AS DATE ) - CAST( date1 AS DATE ) ) * 1440 AS minutesInBetween
FROM ...
Run Code Online (Sandbox Code Playgroud)
要么
SELECT ( CAST( date2 AS DATE ) - CAST( date1 AS DATE ) ) * 86400 AS secondsInBetween
FROM ...
Run Code Online (Sandbox Code Playgroud)