2016-09-07 1 views
0

den Tag angeben, Monat und Jahr als drei ganzzahlige Werte ohne Trennlinien zwischen ihnen, diese Regeln:wie in numerische Stil für das aktuelle Datum in oracle Verpackt create

Der Tag und Monat Komponenten müssen zweistellig sein. Wenn der Tag oder der Monat weniger als 10 ist, muss eine Null vorangestellt werden.

Für jedes Jahr kann die Jahreskomponente vier Ziffern haben (z. B. 1997). Für Jahre im Bereich von 1950 bis 2049 kann die Jahreskomponente alternativ zwei Ziffern haben (50 entspricht 1950 usw.).

Sie können keine Trennzeichen zwischen den Datumskomponenten verwenden.

Beispiele: '240497' oder '04241997'

+1

Fragen Sie nach dem Säulentyp, den Sie benötigen? Oder die to_char-Formatierung, um dies gegen eine DATE-Spalte zu erreichen? Etwas unklar, was die Frage hier ist. –

+0

Eigentlich möchte ich Sysdate als eine vollständige Zahl einfügen, z. B. 240497 = 24-04-1997, die Sysdate entspricht. –

+1

Wie ist ein Datum im Jahr 1997 gleichzusetzen mit "sysdate"? Lebst du 19 Jahre in der Vergangenheit? – mathguy

Antwort

1

Ich bin mir nicht sicher, was die Frage ist, aber Sie können

select to_char(sysdate,'ddmmyyyy') as d 
    from dual; 

OUPUT

D  
-------- 
07092016 

mit to_char ein Datumsformat Wenn Sie in eine Tabelle einfügen möchten

insert into t1 (field1) 
values (to_char(sysdate,'ddmmyyyy')); 
+0

danke für die Antwort ... es funktioniert innerhalb der Doppeltabelle. aber es funktioniert nicht, wenn es in einer insert-Anweisung verwendet wird. –

+0

@NomiMehar was einfügen stament? Sie sollten einige weitere Informationen zu Ihrer Frage veröffentlichen (Zieltabelle, sind die Daten von einer anderen Tabelle ...) – vercelli

+0

Ich habe eine Tabelle namens 'EMP'. Es hat Felder emp_id Numbers (7), Vorname varchar2 (20), Nachname varchar2 (20) .. Jetzt möchte ich, dass, wenn ich einen neuen Datensatz einfügen automatisch Emp_id als aktuelles Datum im angegebenen Format zB 240497, die gleich ist 24-04-19997 –

Verwandte Themen