Zum Inhalt springen

Oracle Datum Format ändern


Slang

Empfohlene Beiträge

Hallo!

Ich hab hier eine Tabelle in Oracle mit ca. 30000 Zeilen.

Dabei gibt es mehrere Spalten in denen ein Datum steht.

Jetzt hab ich folgendes Problem:

Ich hab eine Spalte Geburtsdatum und in dieser Spalte steht das Datum manchmal so:

DD.MM.YYYY

manchmal so:

DD.MM.YY

und manchmal so:

YYYYMMDD

Kann ich irgendwie alle in das Format DD.MM.YYYY umwandeln?

Hab jetzt erstmal eine select anweisung geschrieben die mir alle zeilen ausgibt in denen das Datum nicht dem richtigen Format entspricht.

Aber wie kann ich das jetzt dabei ändern?

MfG Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nun, mit der Funktion kannst du ein Datum in ein bestimmtest Format umwandeln.

Z.B. neues_Datum = to_date(altes_Datum, 'DD.MM.YYYY')

Jetzt musst du es nur noch hinbekommen, dass du eine Schleife um das Ganze herumbastelst, die deine einzelnen (im Format falschen) Datumsangaben aufgreift und formatiert. Am besten macht man das mit PL/SQL.

Dazu deklarierst du vorher in dem DECLARE-Teil einen Cursor, in dem du deine Ergebnisse schreibst:

Z.B.

cursor Name_des_Cursors is

select Datum into falsches_Datum from Tabelle

where Format = 'XXXXXXX';

Im Hauptprogramm (fängt mit BEGIN an), kommt dann die eigentliche Formatierung:

for rec in Name_des_Cursors loop

neues_datum = to_date(falsches_Datum, 'DD.MM.YYYY');

Update Tabelle

Set Datum = neues_datum

where....;

end loop;

So ungefähr müsste es dann aussehen. Du musst dann aber noch die benötigten Variablen im DECLARE-Teil deklarieren.

Hoffe, das hilft dir weiter! :)

LG,

Jusky

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, Danke :)

Werde dann mal ein bißchen googeln...

Hab aber direkt noch eine Frage.

Hab noch eine Spalte "Name" und manchmal sind die Namen so geschrieben:

Mustermann

manchmal so:

MUSTERMANN

und manchmal so:

mustermann

Die Namen sollen alle geändert werden, dass sie so aussehen:

Mustermann

Ist das auch möglich?

Reicht ja erstmal wenn ich nur ein eindeutiges "JA" oder "NEIN" bekomme, dann weiss ich wenigstens ob es sich lohnt danach auch bei google zu suchen.

MfG

Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, das geht. Dazu müsstest du dir jeden Namen vornehmen (also wieder eine Schleife ;) ) und den ersten Buchstaben in einen Groß- und den Rest in Kleinbuchstaben umwandeln.

Hierbei dürften folgende Funktionen interessant sein:

- substr (String, Anfangsstelle, Länge)

=> zum Ausschneiden eines Teilstrings im String

- Upper

=> wandelt Klein- in Großbuchstaben um

-Lower

=> Gegenteil zu Upper

LG,

Jusky

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke nochmal...

Ich glaube die ganze Sache hat sich erledigt.

Cheffe hat grade gemerkt, dass das Programm mit dem auf die Datenbank zugegriffen wird das Datum und die Namen auch so erkennt, egal in welchem Format und es automatisch richtig anzeigt....

Jetzt hab ich mir das Suchen zwar gespart, :)

aber so werde ich das dann wohl auch nicht richtig lernen :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...