1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Datum vergleichen von Char-Spalte mit einer Date-Spalte?

Dieses Thema im Forum "DB2" wurde erstellt von serto, 6 Februar 2017.

  1. serto

    serto Neuer Benutzer

    Hallo,

    das Geburtsdatum wird als Char hinterlegt und in einer weiteren Spalte wird das Eintrittsdatum als Date abgespeichert. Ich habe das Problem das ich die beiden Spallten nicht vergleichen kann.
    z.B. will ich wissen ob es einen Eintrag gibt wo der Eintrittsdatum größer (älter) ist als das Geburtsdatum

    Select * From Tabelle Where GebDatum < EintrDatum ;

    das könnte ich nur machen wenn ich das Ein- und Austrittsdatum miteinander vergleiche. In diesem Falle gibt es ne Fehlermeldung. Muss ich die Spalte erstmal von Char in Date Format bringen oder was habe ich hier für Möglichkeiten. Das Geburtsdatum wird folgendermaßen hinterlegt 'yyyymmdd' und das Eintrittsdatum 'yyyy-mm-dd'

    Vielen Dank für Eure Hilfe
     
  2. Dukel

    Dukel Datenbank-Guru

    Wieso speichert man ein GeburtsDATUM nicht als Datum?
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Neben der Frage, warum Du es nicht gleich richtig machst: Du kannst es casten. In PostgreSQL <string>::date, in anderen Systemen z.B. via cast(...). Rechne damit, daß das nicht immer klappt, denn ein String wird bei der Eingabe durch die DB nicht geprüft, ob er ein valides Datum ist. Verwende also gleich korrekte Datentypen - dafür sind sie da.
     
  4. serto

    serto Neuer Benutzer

    Zu euer Frage, ich habe die Datenbank nicht erstellt sondern soll nur eine Analyse machen ob es derart Daten in der DB existieren. Die kann man jetzt auch nicht so eben mal abändern. Sonst bin ich da total bei euch.
     
  5. akretschmer

    akretschmer Datenbank-Guru

    die auf lange Sicht beste Lösung wäre, via ALTER TABLE ... die Spalte auf DATE zu ändern. Prüfe vorher, ob a) das geht (mit allen Records) und b) die Applikation das mitmacht.
     
  6. ukulele

    ukulele Datenbank-Guru

    In MSSQL bekommst du keine Results wenn eine Spalte bei cast() einen Syntaxfehler wirft, ich weiß nicht wie das in DB2 ist.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden