Ich lese einige Datums- / Uhrzeitwerte von SASServer und die Art und Weise, wie SAS-Datumswerte gespeichert werden, in numerischen Variablen. Datumswerte stellen die Anzahl von Tagen seit dem 1. Januar 1960 dar. Zeitwerte repräsentieren die Anzahl von Sekunden seit Mitternacht. Datetime-Werte stellen die Anzahl von Sekunden seit dem 1. Januar 1960 dar. Ich kann die Datumswerte lesen und bekomme die korrekte Konvertierung, aber mein Problem ist, dass ich die Zeitwerte nicht konvertieren kann Werte
DATEADD(DAY, [SC_ADMIT_DT],"19600101")AS [SC_ADMIT_DT]
das wird mir 2009-12-15 geben und das ist gut. Aber ich habe eine andere Spalte ADMT_TIME, der Zeitwert, der in der SAS gespeichert ist, ist wie folgt: 29520 und ich möchte es konvertieren, um den richtigen Datumszeitwert anzuzeigen. Ich bin nicht einmal sicher, ob es sich um Datumsstempel oder nur um Zeit handelt. Vielen Dank
Antworten:
3 für die Antwort № 1Du sagtest
Zeitwerte stehen für die Anzahl der Sekunden seit Mitternacht
Und da 29520/3600 8,2 Stunden ist, d. H. 8:12 Uhr, scheint das richtig. Warum also nicht einfach diese Sekunden hinzufügen?
DATEADD(SECOND, [ADMT_TIME], DATEADD(DAY, [SC_ADMIT_DT], "19600101")) AS [SC_ADMIT_DT]