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 von Spalte zu Spalte übernehmen; und Uhrzeit weglassen...

Dieses Thema im Forum "Oracle" wurde erstellt von JeeX1271, 27 April 2015.

  1. JeeX1271

    JeeX1271 Neuer Benutzer

    Hey, ich bräuchte dringend einen Befehl für meine Firma...

    Und zwar handelt es sich in einer Tabelle um 2 Spalten.
    Durch einen Fehler (der ab und zu passieren kann) ist die erste Spalte mit dem Datum falsch.
    Format ist (DD.MM.YYYY)
    Die zweite Spalte ist aber Richtig! Format ist (DD.MM.YYYY hh:mm:ss)

    Ich bräuchte jetzt das von Spalte 2 (DD.MM.YYYY hh:mm:ss) die Uhrzeit weg kommt... und automatisch in Spalte 1 kopiert wird... wie eine Abfolge...

    Tabelle: ORDER
    Spalte 1: DAY
    Spalte 2: DATE

    habs schon mit update, convert, to_date usw.. alles probiert...

    ich bin auch sehr neu was sql betrifft.. nur wäre der Befehl sehr wichtig...

    Ich hoffe es kann jemand helfen.

    Lg JeeX
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Das Datenmodell ist falsch. Wenn der Inhalt der Spalte 1 aus den Daten der Spalte 2 berechnet werden kann, dann kann und sollte die Spalte1 gleich ganz gelöscht werden.
     
    JeeX1271 und Distrilec gefällt das.
  3. Distrilec

    Distrilec Datenbank-Guru

    +1 für @akretschmer

    Aber für alle Fälle:
    Code:
    Update tabelle
    Set spalte1 = spalte1 + (spalte2 - trunc(spalte2))
    Where trunc(spalte1) - trunc(spalte1) = 0
     
    JeeX1271 gefällt das.
  4. JeeX1271

    JeeX1271 Neuer Benutzer

    Danke schon mal für die Antworten! :)

    Naja die Spalte 1 brauch ich ja also Spalte1 = ORDERDAY und Spalte2= OPENDATE
    Bei uns ist das so, falls der Anwender die Zeit verstellt, dann ist in der ersten Spalte das Datum falsch.
    In der zweiten ist es immer richtig, weil es sich permanent abgleicht!

    Dh. Opendate passt so wie es is.... nur das Datum von der Spalte muss in Orderday nur ohne Uhrzeit...

    Müsste dann theoretisch sein: Orderday: 16.04.2015 Opendate 16.04.2015 10:30:15

    Hier mal ein Bild wie es momentan aussieht.
    [​IMG]

    Den Befehl hab ich schon getestet nur kommt da ein Fehler:
    ISC ERROR MESSAGE:
    Dynamic SQL Error:
    expression evaluation not supported
    Adding two DATE values or two TIME values is not allowed

    Danke! Lg.
     
  5. Distrilec

    Distrilec Datenbank-Guru

    Also erstmal bin ich doof... Sollte so aussehen:
    Code:
    Update tabelle
    Set spalte1 = spalte1 + (spalte2 - trunc(spalte2))
    Where spalte1 - trunc(spalte1) = 0
    Zweitens.... Mir wäre keine Oracle Version bekannt in der das nicht funktioniert... Oder benutzt du noch irgend ne 8er Version?
     
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