2013-10-16 2 views
0

Je dois obtenir v_återdatum pour montrer sysdate + p_dagar dans "AAAA-MM-JJ hh24: mi: ss" mais je ne sais pas savoir comment le faire. J'ai été capable de le faire avec AAAA-MM-JJ, mais je ne sais pas comment obtenir les secondes aussi.Obtenir la variable locale pour afficher la date + jours avec AAAA-MM-JJ hh24: mi: ss

C'est ce que je suis arrivé au moment:

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; 

Je ne reçois pas HH12: mi: ss dans la sortie quand je l'appelle la fonction.

Répondre

0

Votre v_datum est de type date et p_dagar est un nombre. Vous pouvez ajouter un nombre à une date et le résultat sera une date. Ainsi, votre corps de la fonction sera simplement,

v_återdatum := v_datum + p_dagar; 

Cette date retourné contiendra la partie du temps, mais ne peuvent pas être affichées en fonction du paramètre de NLS_DATE_FORMAT, que vous pouvez vérifier à l'aide de cette requête. Il est toujours préférable de spécifier explicitement le format d'affichage en utilisant la fonction TO_CHAR.

select to_char(get_återdatum(7), 'yyyy-mm-dd hh24:mi:ss') from dual; 
Questions connexes