bonjour,
je récuère une donnée date en format caractères sur 8 posiotions et je veux l'imprimer dans mon fichier en format date (AAAA-MM-JJ)
je n'arrive pas à faire apparitre les tirets
merci pour votre aide
bonjour,
je récuère une donnée date en format caractères sur 8 posiotions et je veux l'imprimer dans mon fichier en format date (AAAA-MM-JJ)
je n'arrive pas à faire apparitre les tirets
merci pour votre aide
Bonjour,
As-tu essayer les fonctions de conversion put et input?
Fafabzh
Les balises code
FAQ SAS
Rubrique SAS
Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.
Cette syntaxe te permettra de créer une date au format volue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 data t; format e yymmdd10.; e=date(); run;
Ta date étant en format caractère, il faut juste concaténer avec un tiret pour obtenir ce que tu veux :
Ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 data toto; attrib date_1 length=$8 format=$8. date_2 length=$10 format=$10. ; date_1="20080208"; date_2=substr(date_1,1,4)!!"-"!!substr(date_1,5,2)!!"-"!!substr(date_1,7,2); run ;
tu peux aussi utiliser les formats (SAS gère particulièrement bien les dates) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 data _null_ ; file "c:\temp.txt" ; date_txt = "20080208"; date_sas = input(date_txt,yymmdd8.); put date_sas yymmdd10. ; run ;
Partager