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

SQL Oracle Discussion :

Concaténer si valeur NULL


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Concaténer si valeur NULL
    Bonjour,

    Je suis assez débutant dans SQL et je suis actuellement en train d'apporter des modifications sur une requête.

    Je voulais concatener la colonne 1 et la colonne 3 dans la colonne 9, si la colonne 9 est vide.

    Voici la requê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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10, colonne11, colonne12, colonne13, colonne14, colonne15, colonne16, colonne17, colonne18
      from
    (
    select
    h.doccode as colonne1, 
    d.name as colonne2, 
    TRIM(h.docnum) as colonne3,
    to_char (h.inpdate, 'YYYYMMDD') as colonne4, 
    l.el1 as colonne5, 
    cpt.name as colonne6, 
    l.el2 as colonne7, 
    aux.name as colonne8, 
    replace(replace(l.ref1,';','-'),'|','-')  as colonne9, 
    to_char (h.docdate, 'YYYYMMDD') as colonne10,
    replace(replace(h.descr,';','-'),'|','-') as colonne11,
    ABS(l.valuehome) as colonne12, 
    decode(l.deb_cred_ind,160,'C','D') as colonne13, 
    pay.matchref as colonne14, 
    to_char (l.paydate, 'YYYYMMDD') as colonne15, 
    to_char (h.inpdate, 'YYYYMMDD') as colonne16, 
    ABS(l.valuedoc) as colonne17, 
    h.curdoc as colonne18
    
    from tableA h , tableB l, tableC d, tableD cpt, tableE aux, TableF pay
    where h.cmpcode=l.cmpcode
    and h.cmpcode=d.cmpcode
    and h.cmpcode=cpt.cmpcode
    and h.cmpcode=aux.cmpcode
    and l.cmpcode=pay.cmpcode(+)
    and l.doccode=pay.doccode(+)
    and l.docnum=pay.docnum(+)
    and l.doclinenum=pay.doclinenum(+)
    and l.el1 between '1000000' and '1500000'
    and h.doccode=l.doccode
    and h.docnum=l.docnum
    and h.doccode=d.code
    and cpt.code=l.el1
    and cpt.elmlevel=1
    and aux.code=l.el2
    and aux.elmlevel=2 
    order by inpdate)
    Merci d'avance de votre aide!

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Tu ne connais pas les fonctions COALESCE (ANSI) ou NVL (spécifique Oracle) ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Non je ne connais pas ces fonctions.

    J'ai essayé avec la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case
      When colonne9 = NULL THEN concat(colonne 1,colonne 3)
    Mais cela n'a pas fonctionner

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    L'expression colonne9 = NULL ne sera jamais vraie.
    NULL n'est égal à rien, même pas à NULL.
    Il faudrait écrire colonne9 IS NULL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette préçision.

    Mais ma requête ne fonctionne toujours pas.

    D'avance merci

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Citation Envoyé par adilsonn Voir le message
    ma requête ne fonctionne toujours pas.
    Quelle requête ? avec quel message d'erreur ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    La requête suivante :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10, colonne11, colonne12, colonne13, colonne14, colonne15, colonne16, colonne17, colonne18
      from
    (
    select
    h.doccode as colonne1, 
    d.name as colonne2, 
    TRIM(h.docnum) as colonne3,
    to_char (h.inpdate, 'YYYYMMDD') as colonne4, 
    l.el1 as colonne5, 
    cpt.name as colonne6, 
    l.el2 as colonne7, 
    aux.name as colonne8, 
    replace(replace(l.ref1,';','-'),'|','-')  as colonne9, 
    to_char (h.docdate, 'YYYYMMDD') as colonne10,
    replace(replace(h.descr,';','-'),'|','-') as colonne11,
    case
        When colonne9 IS NULL THEN concat(colonne 1,colonne 3)
    END
    ABS(l.valuehome) as colonne12, 
    decode(l.deb_cred_ind,160,'C','D') as colonne13, 
    pay.matchref as colonne14, 
    to_char (l.paydate, 'YYYYMMDD') as colonne15, 
    to_char (h.inpdate, 'YYYYMMDD') as colonne16, 
    ABS(l.valuedoc) as colonne17, 
    h.curdoc as colonne18
     
    from tableA h , tableB l, tableC d, tableD cpt, tableE aux, TableF pay
    where h.cmpcode=l.cmpcode
    and h.cmpcode=d.cmpcode
    and h.cmpcode=cpt.cmpcode
    and h.cmpcode=aux.cmpcode
    and l.cmpcode=pay.cmpcode(+)
    and l.doccode=pay.doccode(+)
    and l.docnum=pay.docnum(+)
    and l.doclinenum=pay.doclinenum(+)
    and l.el1 between '1000000' and '1500000'
    and h.doccode=l.doccode
    and h.docnum=l.docnum
    and h.doccode=d.code
    and cpt.code=l.el1
    and cpt.elmlevel=1
    and aux.code=l.el2
    and aux.elmlevel=2 
    order by inpdate)
    et voici le message d'erreur que j'obtiens :

    ORA-00923: mot-clé FROM absent à l'emplacement prévu
    00923. 00000 - "FROM keyword not found where expected"
    *Cause:
    *Action:
    Erreur à la ligne 19, colonne 21
    Merci.

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour

    il manque simplement une virgule après le END.

  9. #9
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Il manque une virgule à la fin de la ligne 18.

    Mais ça ne suffira pas : colonne1, colonne3 et colonne9 ne sont pas connues à l'intérieur de la sous-requête dans laquelle elles sont définies.
    L'expression qui les utilise doit donc être ramenée à l'extérieur de cette expression de table dérivée.

    Par ailleurs, depuis des lustres, les jointures s'écrivent avec l'opérateur JOIN et non plus sous la forme de produits cartésiens.
    L'opérateur (+)= pour les jointures externes est une spécificité d'Oracle et est avant tout une source d'erreurs dans l'écriture et la compréhension des requêtes.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    J'ai essayé depuis toute à l'heure différentes fonctions mais je n'y arrive pas !

    Pourriez-vous m'aider SVP ?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Problème script sql developer oracle
    Bonjour,

    Je suis assez débutant sur SQL Developper et j'aimerai avoir votre aide svp.

    Dans une requê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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    SELECT Donnée1, Donnée2, Donnée3, Donnée4, Donnée5, Donnée6, Donnée7, Donnée8, Donnée9, Donnée10, Donnée11, Donnée12, Donnée13, Donnée14, Donnée15, Donnée16, Donnée17, Donnée18
    from
    (
    select
    h.doccode as Donnée1, 
    d.name as Donnée2, 
    TRIM(h.docnum) as Donnée3,
    to_char (h.inpdate, 'YYYYMMDD') as Donnée4, 
    l.el1 as Donnée5, 
    cpt.name as Donnée6, 
    l.el2 as Donnée7, 
    aux.name as Donnée8, 
    NVL (concat(h.doccode, h.docnum), l.ref1) as Donnée9,  
    to_char (h.docdate, 'YYYYMMDD') as Donnée10,
    replace(replace(h.descr,';','-'),'|','-') as Donnée11,
    ABS(l.valuehome) as Donnée12, 
    decode(l.deb_cred_ind,160,'C','D') as Donnée13, 
    pay.matchref as Donnée14, 
    to_char (l.paydate, 'YYYYMMDD') as Donnée15, 
    to_char (h.inpdate, 'YYYYMMDD') as Donnée16, 
    ABS(l.valuedoc) as Donnée17, 
    h.curdoc as Donnée18
     
    from Table1 h , Table2 l, Table3 d, Table4 cpt, Table5 aux, Table6 pay
    where h.cmpcode=l.cmpcode
    and h.cmpcode=d.cmpcode
    and h.cmpcode=cpt.cmpcode
    and h.cmpcode=aux.cmpcode
    and l.cmpcode=pay.cmpcode(+)
    and l.doccode=pay.doccode(+)
    and l.docnum=pay.docnum(+)
    and l.doclinenum=pay.doclinenum(+)
    and h.yr=2011
    and h.inpdate < '20/01/2011'
    and h.doccode=l.doccode
    and h.docnum=l.docnum
    and h.doccode=d.code
    and cpt.code=l.el1
    and cpt.elmlevel=1
    and aux.code=l.el2
    and aux.elmlevel=2 
    order by inpdate);
    Mon premier problème au niveau de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NVL (concat(h.doccode, h.docnum), l.ref1) as Donnée9,
    Je veux que : Si Donnée9 est vide, concaténer doccode et docnum.

    Mais le problème c'est qu'il fait un concaténer pour toutes les colonnes Donnée9 même ceux qui présentent une valeur.

    Mon second problème au niveau de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ABS(l.valuedoc) as Donnée17,
    Ce que je veux, c'est qu'il me prend la valeur absolue de Donnée17 avec les décimales.

    Mais le problème c'est qu'il ne prend pas les décimales, mais que les entiers.

    Pouvez-vous m'aider svp ?

    Merci d'avance

  12. #12
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Ce que tu décris n'est pas cohérent :
    Mon premier problème au niveau de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NVL (concat(h.doccode, h.docnum), l.ref1) as Donnée9,
    Je veux que : Si Donnée9 est vide, concaténer doccode et docnum.
    Mais le problème c'est qu'il fait un concaténer pour toutes les colonnes Donnée9 même ceux qui présentent une valeur.
    Donnée9 est le résultat de l'expression. Elle ne peut pas se calculer sur son propre résultat

    Si que tu voulais dire est : Si l.ref1 est vide, concaténer doccode et docnum., alors il faut que tu revérifies la syntaxe de la fonction NVL : tu en as inversé les arguments.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci.

    Effectivement, j'ai inversé les arguments.

    Mais on inversant les arguments, il ne prend pas en compte la condition. C'est à dire il laisse les cellules de donnée9 vide, sans concaténer les 2 valeurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NVL(l.ref1, concat(h.doccode, h.docnum)) as Donnée9,
    Merci

  14. #14
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Je crains que tu ne buttes sur la notion de vide.
    La fonction NVL teste sur NULL. Si ta colonne l.ref1 contient ne serait-ce qu'un espace, elle n'est pas NULL.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup,

    Je viens de vérifier sur la base et il y a bien un espace dans les cellules vides.

    Dans ce cas la, quelle est la fonction a utilisé ?

    d'avance merci

  16. #16
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Soit tu fais un TRIM de ta colonne (qui va virer les espaces en début et fin de chaine)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NVL( TRIM(col), CONCAT(A, b))
    Soit tu fais un DECODE pour tester la présence d'un espace (moins bien d'après moi)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECODE(col, ' ', CONCAT(A, b), col)
    Soit tu fais un CASE (équivalent plus puissant du DECODE) pour tester la présence d'un espace (moins bien d'après moi)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CASE WHEN col = ' ' THEN CONCAT(A, b) ELSE col END
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup ça marche !

    Une dernière question

    Concernant ce problème ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ABS(l.valuedoc) as Donnée17,
    Ce que je veux, c'est qu'il me prend la valeur absolue de Donnée17 avec les décimales.

    Mais le problème c'est qu'il ne prend pas les décimales, mais que les entiers.

    Pouvez-vous m'aider svp ?

    Merci d'avance .

  18. #18
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Quel est le type de la colonne VALUEDOC ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Number !

  20. #20
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Par définition, la fonction ABS retourne une valeur de même type que la valeur traitée. Il n'y a donc pas de raison pour qu'elle perde les décimales
    Une autre manière de faire serait :
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. requete avec la valeur NULL
    Par Hinkel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/11/2008, 16h39
  2. Concaténation valeur null
    Par bobosh dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/08/2008, 11h46
  3. Selectionner un champ de valeur nulle
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/09/2003, 14h26
  4. [CR9] conversion de valeurs NULL
    Par ministry dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/09/2003, 11h41
  5. Valeurs Nulles ou Valeurs à Zéro
    Par LLaurent dans le forum XMLRAD
    Réponses: 5
    Dernier message: 30/07/2003, 11h40

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