Oracle 减去天和分钟
Oracle subtracting days and minutes
我想从 sysdate 中减去 "X" 天和 "X" 分钟,其中天数和分钟数是作为输入参数的整数。例如,10 天 5 分钟。
我发现很多示例可以减去分钟或小时,但不能减去天和分钟的组合。
select sysdate - 5 / 24 / 60 from dual -- will retrieve sysdate minus 5 minutes.
--What about the days?
谢谢!
使用 interval literal:
SELECT SYSDATE - INTERVAL '10 00:05' DAY(2) TO MINUTE
FROM DUAL
或者:
SELECT SYSDATE - INTERVAL '10' DAY - INTERVAL '5' MINUTE
FROM DUAL
或者只使用算术:
SELECT SYSDATE - 10 /* Days */ - 5 / 24 /60 /* Minutes */
FROM DUAL
或使用NUMTODSINTERVAL
:
SELECT SYSDATE - NUMTODSINTERVAL( 10, 'DAY' ) - NUMTODSINTERVAL( 5, 'MINUTE' )
FROM DUAL
您可以每天使用间隔 - http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#i38598
select sysdate - interval '1 00:05' day to minute from dual
我想从 sysdate 中减去 "X" 天和 "X" 分钟,其中天数和分钟数是作为输入参数的整数。例如,10 天 5 分钟。
我发现很多示例可以减去分钟或小时,但不能减去天和分钟的组合。
select sysdate - 5 / 24 / 60 from dual -- will retrieve sysdate minus 5 minutes.
--What about the days?
谢谢!
使用 interval literal:
SELECT SYSDATE - INTERVAL '10 00:05' DAY(2) TO MINUTE
FROM DUAL
或者:
SELECT SYSDATE - INTERVAL '10' DAY - INTERVAL '5' MINUTE
FROM DUAL
或者只使用算术:
SELECT SYSDATE - 10 /* Days */ - 5 / 24 /60 /* Minutes */
FROM DUAL
或使用NUMTODSINTERVAL
:
SELECT SYSDATE - NUMTODSINTERVAL( 10, 'DAY' ) - NUMTODSINTERVAL( 5, 'MINUTE' )
FROM DUAL
您可以每天使用间隔 - http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#i38598
select sysdate - interval '1 00:05' day to minute from dual