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

Débutez Discussion :

Substr et date


Sujet :

Débutez

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Substr et date
    Bonjour,
    j'ai des dates SAS au format 01JAN2012=ddmmyyyy, je souhaiterai extraire ces dates SAS pour obtenir des dates au format JAN2012.

    Lorsque j'effectue substr(ma_date_au_format_ddmmyyyy,3,7), j'obtiens: "La fonction SUBSTR requiert une expression alphanumérique comme argument 1". Existe-t'il une fonction qui me permette d'extraire le mois et l'année

    Pouvez vous m'aider svp? Après de nombreuses tentatives je ne parviens pas à résoudre ce problème. Merci d'avance.

    Ps: j'ai également essayé de concaténer les mois et années après les avoir extraits: cats(mois,année ). Mais je perds la relation d'ordre sur les dates avec cette méthode.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonjour,

    Les dates sont affichées en format DATE9. (01JAN12) mais sont stockées en format numérique (à partir du 01JAN60).

    Il faut juste appliquer le bon format d'affichage de la valeur dans une étape DATA (de mémoire : MONYY5.)

    Si vous voulez vraiment extraire une chaine de texte, dans une étape data :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    data test;
    date=19214;
    date2=put(date,monyy5.);
    run;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Merci beaucoup pour cette réponse très rapide.
    Merci beaucoup pour cette réponse très rapide.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut conserver le format date après un put
    J'ai bien utilisé un put sur mes dates pour en extraire le mois et l'année:
    put("01JAN2008" ,monyy7.)="JAN2008".

    Le problème est que je ne dispose plus d'une date en sortie: je n'ai donc plus la relation d'ordre sur MoisAN.

    Comment peut on la conserver s'il vous plait?

  5. #5
    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
    il faut juste modifier le format de ta variable
    le put te renvoie une chaine de caractère.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut réponse
    Merci beaucoup.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour à tous, je voulais savoir s'il était possible avec un format d'extraire juste le 12 de la date 31JAN12.

    Merci d'avance

  8. #8
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    Si la date est au format date, la fonction dans une proc sql est year(colonne_au_format_date). Si le format est datetime, c'est year(datepart(colonne_au_format_datetime)). Même fonction dans un data step.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tmap substring du date à partir d'un path
    Par fetano dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 02/07/2014, 12h46
  2. date() + 1 +2 avec substr
    Par hugodu28 dans le forum Langage
    Réponses: 5
    Dernier message: 12/04/2011, 16h03
  3. substr dans un where sur une date '2010-04-30 12:11:12'
    Par sinifer dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/05/2010, 14h52
  4. [Dates] "concaténation" de fonction substr et autres
    Par javaboy dans le forum Langage
    Réponses: 12
    Dernier message: 12/04/2007, 10h51
  5. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2006, 12h40

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