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

Frage zu Formatierung

Dieses Thema im Forum "Oracle" wurde erstellt von mak_vie, 25 September 2016.

  1. mak_vie

    mak_vie Neuer Benutzer

    Hallo miteinander!

    Ich schicke voraus, dass ich mich mit einfachen Anforderungen in SQL zwar gut auseinandersetzen kann, bei diesem Themal stehe ich aber vor einem Rätsel und hoffe, dass mir jemand von Euch helfen kann...

    In einer Tabelle befinden sich zwei Felder mit Datentyp 'Number'; in diese Felder werden Zeitwerte gespeichert, wobei diese Zeitwerte z.B. für 12:00 Mittags den Wert '720' darstellen - ein Tag hat 1440 Minuten.

    In meinem SELECT-Statement spreche ich diese beiden Felder an, jedoch werden mir diese dann natürlich nur mit dem Wert als Number ausgegeben; z.B. für 12:30 der Wert '750'.

    Kann mir jemand von Euch helfen ? Mein Statement sieht zurzeit so aus:

    SELECT
    FAHRZEUG,
    KURSNUMMER,
    VONORT,
    NACHORT,
    to_date(ABFAHRT, 'HH24:MI'),
    to_date(ANKUNFT, 'HH24:MI')
    FROM FAHRTEN.LEISTUNGEN
    WHERE DATUM = to_char(sysdate,'YYYYMMDD')
    AND FAHRZEUG IS NOT NULL
    ORDER BY KURSNUMMER,ABFAHRT;


    Die Felder "ABFAHRT" und "ANKUNFT" sind die beiden 'Problemfelder'... mit 'to_date' inkl. Formatangabe 'HH24:MI' komme ich leider nicht weiter, da ich den SQL-Fehler: ORA-01850: Stunde muss zwischen 0 und 23 liegen - bekomme...

    Danke im Voraus für Eure Hilfe.

    Viele Grüße,
    Maximilian
     
  2. unficyp

    unficyp Fleissiger Benutzer

    to_char(trunc(sysdate) + abfahrt/1440, 'HH24:mi')
     
  3. Dukel

    Dukel Datenbank-Guru

    Wieso speichert man das Datum bzw. die Uhrzeit nicht als Datum bzw. Uhrzeit?
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Die Frage darf erlaubt sein: was für ein Kraut hat derjenige, der das verbrochen hat, geraucht?

    Der beste Weg zur dauerhaften Lösung wäre, den Spaltentyp dieser Spalte auf TIME zu ändern.
     
  5. unficyp

    unficyp Fleissiger Benutzer

    Warum speichert Unix die Sekunden seit dem 01.01.1970 als Zeit und nicht .. die Zeit als String ?

    Es wird wahrscheinlich (hoffentlich) einen Grund dafür geben. Vielleicht kommen die Daten aus einer Schnittstelle und dort gibts halt nur einen Zähler...
     
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