IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAS Base Discussion :

transformer une donnée date en char(8) en format date


Sujet :

SAS Base

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut transformer une donnée date en char(8) en format date
    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

  2. #2
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Bonjour,
    As-tu essayer les fonctions de conversion put et input?
    Fafabzh

  3. #3
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    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;

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut date
    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 ;

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    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 ;

Discussions similaires

  1. [WD-2007] Transformer une donnée access
    Par samsab dans le forum Word
    Réponses: 4
    Dernier message: 01/01/2013, 15h17
  2. Convertir une donnée en type Char vers un type Décimal
    Par requetor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/10/2011, 09h49
  3. Transformer une donnée à la sélection
    Par micaz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/09/2008, 21h47
  4. Transformer une donnée '.' (point) en 0 (zéro)
    Par PAULOM dans le forum SAS Base
    Réponses: 4
    Dernier message: 08/04/2008, 15h29
  5. Transformer une donnée double en char
    Par Chrysomallus dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/04/2007, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo