Oracle 时间日期处理
日期运算
--加1日 SELECT SYSDATE+1FROM DUAL; --加1小时 SELECT SYSDATE+(1/24) FROM DUAL; --加12小时 SELECT SYSDATE+(1/24*12) FROM DUAL; --加1分钟 SELECT SYSDATE+(1/24/60) FROM DUAL; --加30分钟 SELECT SYSDATE+(1/24/60*30) FROM DUAL; --加1秒钟 SELECT SYSDATE+(1/24/60/60) FROM DUAL; --加30秒钟 SELECT SYSDATE+(1/24/60/60*30) FROM DUAL; --加1月 SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL; --加1年 SELECT ADD_MONTHS(SYSDATE, 12) FROM DUAL;
字符型与日期型互换
PS: 如果需要减,则“+”换成“-”,ADD_MONTHS函数的数值换成负数。
--日期转换为字符(24小时制) SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') FROM DUAL; --日期转换为字符(12小时制), am/pm都可以 --如果不加 am/pm会直接显示为12小时制,但无法知道是上午还是下午 SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh:mi:ss am') FROM DUAL; SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh:mi:ss pm') FROM DUAL; --字符转换为日期 SELECT TO_DATE('1900-01-01', 'yyyy-mm-dd') FROM DUAL; SELECT TO_DATE('1900-01-01 12:59:59', 'yyyy-mm-dd hh:mi:ss') FROM DUAL; SELECT TO_DATE('1900-01-01 13:59:59', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL; SELECT TO_DATE('1900-01-01 12:59:59 pm', 'yyyy-mm-dd hh:mi:ss am') FROM DUAL;