2016-08-02 12 views
1

als Titel sagt ich habe eine Excel-Datei, die ich in SAS importieren, die 2016/06/15 als das Datumsformat hat. Ich muss es in Datetime konvertieren, damit ich es in SQL hochladen kann.SAS - Konvertieren "2016/06/15" in Datetime-Format

Wenn ich 2016/06/15 in SQL (Datetime) hochladen, gibt es mir einige zufällige Jan 1960 Datum. Also ich denke, SQL benötigt auch die Zeit drin.

Was ich brauche ist der Code zu 2016/06/15 in Datetime in SAS-Programmierung zu formatieren.

Vielen Dank!

Antwort

2

Sie können die Funktion dhms() verwenden, um ein Datum in datetime zu konvertieren. Beispiel:

data _null_; 
    my_date = date(); 
    my_datetime = dhms(my_date, 0, 0, 0); 
    put my_date date9. 
     my_datetime datetime22.; 
run; 

Ausgang:

02AUG2016 02AUG2016:00:00:00 

Wenn Sie ODBC-Pass-Through verwenden es in SQL einlegt, finden Sie diese Antwort (https://stackoverflow.com/a/24044451/214994) für Tipps, wie das zu tun.

+0

Hallo, danke für die Antwort. Wenn ich date() durch "06/15/2016" ersetze, so sieht der SAS-Datensatz aus, wenn ich das Excel "2016/06/15" importiere. Meine Ausgabe ist immer noch: 01JAN1960 01JAN1960: 00: 00: 51 – mitoKon

+0

@mitoKon Es gibt mehrere Möglichkeiten, Datumswerte in SAS zu erstellen. Am einfachsten ist die Funktion 'mdy (6,15,2016)' oder das Definieren eines Datumsliterals '" 15.06.2016 "d '. Beachten Sie das "d" nach dem schließenden Zitat im Datumsliteral. –

+0

Tut mir leid, ich bin wirklich schlecht mit der Formatierung in SAS .. Ich habe die my_date = "06.05.2016" d; und ich erhalte einen Fehler: FEHLER: Ungültiges Datum/Uhrzeit/Datum/Zeitkonstante "06/05/2016" d. FEHLER 77-185: Ungültige Nummerumwandlung am "06/05/2016" d. – mitoKon