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

Langage SQL Discussion :

Conversion texte en nombre


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 77
    Points : 75
    Points
    75
    Par défaut Conversion texte en nombre
    Bonjour,

    Dans une table, les données Mois et Année sont stockées sous format texte, soit par exemple '05' et '06' pour le mois de mai et l'année 2006.
    Je souhaiterais donc savoir si il est possible dans un select de convertir ces champs en nombres entiers pour ramener les valeurs 5 et 6 pour le même exemple, voire de reconstituer 2006 pour ce qui est de l'année.

    Merci d'avance de votre aide,

    Philippe

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 837
    Points : 52 922
    Points
    52 922
    Billets dans le blog
    5
    Par défaut
    Utilisez la fonction normative CAST :
    http://sqlpro.developpez.com/cours/sqlaz/select/#L4.1

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Et si CAST n'est pas supportée par votre SGBD, précisez avec quel SGBD vous travaillez
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 77
    Points : 75
    Points
    75
    Par défaut
    Merci pour l'info.

    Cela fonctionne en terme d'affichage mais je n'arrive pas dans une clause WHERE a faire un filtre sur le résultat du cast.

    Dans l'exemple ci-joint le WHERE directement sur ANNEE_FAC ne fonctionne pas et je suis obligé de repasser par l'expression complète.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    SELECT 
        IRIS_Format_G3_Def.SOCIETE as SOCIETE_FAC,
        IRIS_Format_G3_Def.TYPE_GROUPE_CDE as GRP_CDE_FAC,
        IRIS_Format_G3_Def.FAM_ART as FAM_ART_FAC,
        IRIS_Format_G3_Def.NAT_ART as NATURE_FAC,
        (cast (IRIS_Format_G3_Def.DANNEE as integer)+2000) as ANNEE_FAC,
        (cast (IRIS_Format_G3_Def.DMOIS as integer)) as MOIS_FAC,
        IRIS_Format_G3_Def.DDATE as DATE_FACTURE,
        IRIS_Format_G3_Def.RESEAU,
     
        Clients_01.CODE_PAYS,Clients_01.LIB_PAYS,
     
        IRIS_Format_G3_Def.VRP_CLIENT as VRP_CLIENT,
        IRIS_Format_G3_Def.QTE as QTE_FAC,
        IRIS_Format_G3_Def.CA as CA_FAC
     
    from IRIS_Format_G3_Def
     
    left join CLients_01
     
    on IRIS_Format_G3_Def.SOCIETE = CLients_01.SOCIETE
    and IRIS_Format_G3_Def.CODE_CLIENT = CLients_01.CODE_CLIENT
     
    where IRIS_Format_G3_Def.NAT_ART <> 'PRE'
        and IRIS_Format_G3_Def.NAT_ART not like 'RF%'
        and (cast (IRIS_Format_G3_Def.DANNEE as integer)+2000) in (!PARAM_ANNEE_N,!PARAM_ANNEE_N-1)
        and (cast (IRIS_Format_G3_Def.DMOIS as integer)) <= !PARAM_MOIS_N
        and IRIS_Format_G3_Def.SOCIETE = !PARAM_SOCIETE

Discussions similaires

  1. [XL-2003] Conversion texte vers nombre
    Par Toine-45 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/01/2014, 17h40
  2. [XL-2003] Conversion forme texte en nombre
    Par jackborogar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/02/2013, 17h29
  3. [PROC] Conversion texte en nombre
    Par pierreTPE57 dans le forum SAS Base
    Réponses: 3
    Dernier message: 09/11/2012, 14h29
  4. Conversion groupée de texte en nombre
    Par scrouet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/10/2008, 16h32
  5. Conversion Texte -> Nombre
    Par bart64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2007, 11h42

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