Sql 打印带有日期的小时和分钟?

Sql 打印带有日期的小时和分钟?,sql,oracle,plsql,oracle11g,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; 我得到以下信息: 2015-03-13 我怎样才能像这样添加HH24:MI 2015-03-13 21:34类似这样的事情: select GET_DATE(3) from dual; 还可以更改nls_日

当我选择此选项时:

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;
我得到以下信息:

2015-03-13

我怎样才能像这样添加HH24:MI

2015-03-13 21:34类似这样的事情:

select GET_DATE(3)
from dual;
还可以更改nls_日期_格式:

select to_char(GET_DATE(3),'yyyy-mm-dd hh24:mi') from dual
其他解决方案,更改函数以返回varchar2:

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

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;

好的,分配只是使用从dual选择GET_DATE3;所以这就是为什么我要坚持这样做:那我该怎么写呢?我试过@NoDisplayName解决方案。。但DATETIME不起作用I@Aramillo分配是使用SELECT GET_DATE3 FROM DUAL;。。我无法使用“选择”来设置字符等..:您也可以使用nls\U date\U格式。请检查您使用的IDE是什么?Sql开发者还是蟾蜍?这是一个IDE问题,而不是oracle。根据定义,日期包含时间。在select语句中看不到它的原因是IDE的NLS设置。或者看看@aramillo编辑的答案。@ruudvan我使用的是sql developer,我同意@JustinCave。不过,为了完成我的思路,只需在SQLDeveloper-Tools->Preferences->Database->NLS->Date Format->中执行此操作,并将其更改为包含时间。sql developer中的默认日期格式没有时间。请注意,这仅用于显示。这并不意味着函数没有返回时间。@ruudvan,所以我无法通过som将小时和分钟获取到_CHAR或其他东西?我已经被这个问题困扰了好几天了,照Aramillo的回答去做吧。如果您在显示日期值时遇到问题,例如执行SELECT SYSDATE FROM DUAL(从DUAL中选择SYSDATE),它有时间,但仅显示为没有时间的日期;此时您需要修复IDE的格式设置。
Function created.

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