我需要让v_återdatum在“YYYY-MM-DD hh24:mi:ss”中显示sysdate + p_dagar,但我不知道该怎么做。我只能用YYYY-MM-DD做到这一点,但我不知道如何获得秒数。
这就是我现在所得到的:
create or replace
function get_återdatum(
p_dagar number)
return date
as
v_återdatum date;
v_datum date := sysdate;
begin
v_återdatum:=to_date(v_datum, 'YYYY-MM-DD hh24:mi:ss'+ p_dagar) ;
return v_återdatum;
end;
当我调用该函数时,我没有得到hh12:mi:输出中的ss。
答案 0 :(得分:0)
您的v_datum
是日期类型,p_dagar
是一个数字。您可以在日期中添加数字,结果将是日期。
所以,你的函数体很简单,
v_återdatum := v_datum + p_dagar;
此返回日期将包含时间部分,但可能无法根据NLS_DATE_FORMAT参数显示,您可以使用此查询进行检查。
select *
from v$nls_parameters
where parameter = 'NLS_DATE_FORMAT';
使用TO_CHAR函数显式指定显示格式总是更好。
select to_char(get_återdatum(7), 'yyyy-mm-dd hh24:mi:ss') from dual;