2016-07-28 9 views
1

Ich kann immer noch nicht glauben, dass das nicht funktioniert, nachdem ich die Beispiele und Antworten hier gelesen habe. Dies muss 20160101.proc sql - number to date ändern

seine 2016-01-01

Ich habe eine numerische Variable mit dem Wert sagen.

Meinen Code ... Eingang (put (numvar, Z8.), Yymmdd10.) Als datevar

OK, ist das Ergebnis 20454

Was frustrierend ist, wenn ich versuche, diese in zwei verschiedenen Schritte. Das put (numvar, Z8.) Funktioniert, aber dann versucht es, bis zum Datum zu konvertieren, IMMER in numerischer Form zurück.

Antwort

3

Sie haben die richtige Methode, um die Zahl in ein korrektes SAS-Datum zu konvertieren, es ist nur unformatiert.

Versuchen Sie, die unten, die es als SAS Datum verlässt, gilt aber Sie das gewünschte Format:

 
input(put(numvar, Z8.), yymmdd10.) as datevar format=yymmdd10. 
+0

Dank Chris !!!! Das hat perfekt funktioniert. Ich hatte das nicht als Antwort gegoogelt. –