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;

 



posted on 2018-03-21 17:12  BadTree  阅读(164)  评论(0编辑  收藏  举报