ORACLE日期时间处理

--感觉ORACLE对日期的处理比MS较方便些
--修改会话日期时间格式
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
--修改会话日期时间语言
ALTER SESSION SET NLS_DATE_LANGUAGE = 'AMERICAN';

--当前时间前N分钟
SELECT SYSDATE-INTERVAL 'N' MINUTE FROM DUAL;
--当前时间前N小时
SELECT SYSDATE-INTERVAL 'N' HOUR FROM DUAL;
--N天前的这时
SELECT SYSDATE-INTERVAL 'N' DAY FROM DUAL;
--N月前的这时
SELECT SYSDATE-INTERVAL 'N' MONTH FROM DUAL;
SELECT ADD_MONTHS(SYSDATE,-N) FROM DUAL;
--N年前的这时
SELECT SYSDATE-INTERVAL 'N' YEAR FROM DUAL;

--本月最后一天
SELECT LAST_DAY(SYSDATE)  FROM DUAL;
--日期间的相差月数
SELECT MONTHS_BETWEEN(SYSDATE,TO_DATE('2010-01-12','YYYY-MM-DD'))FROM DUAL;

 其实再加上字符串和日期转换函数TO_CHAR和TO_DATE基本的计算已经差不多了。

你可能感兴趣的:(oracle,时间,计算,日期,格式化)