Datum bearbeiten

Nordwind

Benutzer
Beiträge
5
Hallo zusammen, ich habe eine Frage:

Habe folgendes Datumsformat:
z.B.: 30.03.2010 10:57:38,00000000

Wie bekomme ich es hin, dass die Nachkommastellen der Uhrzeit weggekürzt werden?

Viele Grüße!
 
Werbung:
In welchem Format möchtest du die Zeitspanne? Als Integer in Tagen, als Interval Year To Month, als Interval Day To Seconds, etc. ... ?
 
Also ich bin soweit:
TO_NUMBER('TO_CHAR(DATE_2 - DATE_1, DD.MM.YYYY HH24:MI:SS','9999')

Ich denke ich muss das Zahlenformat noch angeben, oder?
Aktuell bekomme ich nur einen Fehler
 
Werbung:
Da wird auch immer ein Fehler kommen. Du subtrahierst gerade zwei Strings...
Ein Datum ist ein Datum PUNKT, AUS, ENDE.
Wenn du ein anderes Format zum anzeigen verwenden willst gibt es zwei Möglichkeiten:
- Du machst daraus einen String der ein anderes Format hat (was ich dir gezeigt habe)
- Du änderst den Datenbankparameter NLS_DATE_FORMAT, das ist das Standardformat für SÄMTLICHE Datums-Spalten die du dir in Views / Selects anzeigen lässt

Wenn du aber mit den Daten rechnen willst muss es auch ein Datum bleiben.

Hier mal ein kleines Beispiel:
Code:
With temp_dat As
(Select Sysdate As jetziges_datum
        ,Sysdate + (4 / 24) As datum_plus_vier_stunden -- + 4/24 eines Tages =  + 4 Stunden
  From   dual)

Select jetziges_datum -- ist immernoch ein Datum / mit dem Standardformat des NLS_DATE_FORMAT Parameters
      ,to_char(jetziges_datum, 'MM.DD.YYYY HH24:MI:SS') -- ist ein String, der aus deinem Datum und der Formatmaske "generiert" wurde
      ,jetziges_datum - datum_plus_vier_stunden -- ein eigener numerischer Datentyp, der einen anderen Aufbau hat als normale Zahlen
      ,to_number(jetziges_datum - datum_plus_vier_stunden) * 24 -- wir wandeln in eine "echte" Zahl um / multiplizieren mit 24 da die Zahl ansonsten die Tage ausgibt
From   temp_dat
 
Zurück
Oben