打印出日期的小时和分钟?

时间:2015-03-10 20:34:18

标签: sql oracle plsql oracle11g

CREATE OR REPLACE FUNCTION GET_DATE(P_DAYS IN  NUMBER) RETURN DATE AS V_DATE DATE;
BEGIN
V_DATE := SYSDATE+P_DAYS;
RETURN V_DATE;
END;

当我选择这个时:

select GET_DATE(3)
from dual;

我得到了以下信息:

2015-03-13

如何才能像这样添加HH24:MI

2015-03-13 21:34

1 个答案:

答案 0 :(得分:1)

这样的事情:

select to_char(GET_DATE(3),'yyyy-mm-dd hh24:mi') from dual

也可以更改nls_date_format:

ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi';
select GET_DATE(3) from dual;

其他解决方案,更改函数以返回varchar2:

CREATE OR REPLACE FUNCTION GET_DATE(P_DAYS IN  NUMBER) RETURN VARCHAR2 AS 
BEGIN
RETURN to_char(SYSDATE+P_DAYS,'yyyy-mm-dd hh24:mi');
END;

select GET_DATE(3) from dual;

输出:

Function created.

GET_DATE(3)                                                                     
--------------------------------------------------------------------------------
2015-03-13 16:32                                                                
1 row selected.