2016-06-30 9 views
0

in Oracle zurück, wenn wirWie eine Variable im Orakel passieren und das Datum

SELECT to_char(sysdate) FROM dual 

diese Abfrage ausführen, werden wir das aktuelle Datum zu bekommen.

Aber dafür möchte ich eine Variable wie sagen übergeben, wenn ich 2 passiere Ich möchte das Datum 2 Tage zurück bekommen.

Wenn pass 3 Ich möchte das Datum 3 Tage zurück bekommen.

Wie kann ich es in Orakel erreichen?

Antwort

1

Nach dem Ausführen des folgenden Skripts fragt SQL Developer nach dem Wert von x. (Drücken Sie F5, nicht STRG + ENTER)

Abfrage

SET SERVEROUTPUT ON 
select sysdate - &x from dual; 
undefine x; 

I eingegebenen Wert als 2, kehrte er die Zahl 28 Jun 2016

Ausgabe

old: select sysdate - &x from dual 
new: select sysdate - 2 from dual 

SYSDATE-2 
--------- 
28-JUN-16 
1 row selected. 
0

Sie Katze erstellen Funktion wie diese

create or replace function getDate(p_dNum number:=0) return date is 
begin 
    return sysdate - p_dNum; 
end; 

und dann Funktion in der SQL-Aufruf wie folgt

select to_char(getDate(p_dNum => 2),'yyyy/mm/dd') 
    from dual; 
Verwandte Themen