Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1427 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  addition de colonnes...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

addition de colonnes...

n°411062
SOS - SOS
Posté le 29-05-2003 à 16:30:28  profilanswer
 

Salut !
 
J'ai besoin de faire une selection d'entier dans differentes colonnes d'une table, et d'en faire l'addition en mysql.
 
Pb:  pour mysql Null + 3 = Null
 
Donc, si une seule de mes colonnes a la valeur Null, je ne peux avoir le résultat.
 
Comment faire ?????
Merci !

mood
Publicité
Posté le 29-05-2003 à 16:30:28  profilanswer
 

n°411070
the real m​oins moins
Posté le 29-05-2003 à 16:49:20  profilanswer
 

si ta premiere colonne est un entier, elle sera à 0 et non a null si aucune valeur n'y est introduite.
sinon, tu n'espere quand meme pas additionner une chaine de caractere avec un entier? :heink:
... et puis il doit y avoir une fonction pour convertir en entier..


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411087
mrbebert
Posté le 29-05-2003 à 17:28:26  profilanswer
 

il existe la fonction IFNULL(param1, param2)
Si param1 est à NULL, elle renvoie param2, sinon param1
 
Dans ton cas, tu peux faire IFNULL(colonne, 0) + 3, pour donner la valeur par défaut 0 à ta colonne lorsqu'elle est NULL.

n°414528
SOS - SOS
Posté le 03-06-2003 à 15:30:56  profilanswer
 

Merci ! ca marche nickel  !

n°415010
MagicBuzz
Posté le 03-06-2003 à 20:44:53  profilanswer
 

the real moins moins a écrit :

si ta premiere colonne est un entier, elle sera à 0 et non a null si aucune valeur n'y est introduite.
sinon, tu n'espere quand meme pas additionner une chaine de caractere avec un entier? :heink:
... et puis il doit y avoir une fonction pour convertir en entier..


Non, un SGBD propre fait la différence entre NULL et 0
 
NULL = non renseigné
0 = renseigné et à 0

n°415592
the real m​oins moins
Posté le 04-06-2003 à 02:17:10  profilanswer
 

oui mais il parlait de mysql, et je crois que mysql met 0 par defaut, mais je peux me tromper :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°415719
mrbebert
Posté le 04-06-2003 à 10:04:05  profilanswer
 

Non, NULL n'est pas équivalent à la valeur 0. Ce sont 2 choses bien distinctes, même avec mysql.

n°415953
the real m​oins moins
Posté le 04-06-2003 à 12:15:57  profilanswer
 

je sais bien que c'est deux notions distinctes ([:mlc]), mais dans mon mysql mes colonnes de type int sont à 0 qd elles n'ont pas de valeur spécifique :o
(j'ai pas le tps de vérifier, si ça se trouve c'est parce que les colonnes ont été créées avec "default 0" :whistle:)


Message édité par the real moins moins le 04-06-2003 à 12:16:33

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°416213
MagicBuzz
Posté le 04-06-2003 à 14:47:55  profilanswer
 

the real moins moins a écrit :

(j'ai pas le tps de vérifier, si ça se trouve c'est parce que les colonnes ont été créées avec "default 0" :whistle:)


:lol: y'a des chances en effet ;)
 
A ma connaissance, y'a que Oracle 8 pour pas faire la différence, et encore ce n'est qu'au niveau des varchar2 (tout le reste passe sauf ça) : si tu insère '' (chaîne vide) ce gros crétin des îles enregistre null...
 
Du coup, proutch, y'a tout qui plante dans tous les sens parceque tu n'as évidement mis des not null partout, et dans ton code, t'as pas prévu que la chaîne que tu viens d'inserrer pouvait par l'oppération du saint esprit oracle devenir nulle :sarcastic:

n°416220
the real m​oins moins
Posté le 04-06-2003 à 14:51:57  profilanswer
 

MagicBuzz a écrit :


:lol: y'a des chances en effet ;)

euh bon en effet c'etait le cas :whistle:
(colonne declarée notnull - "default 0" du coup)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 04-06-2003 à 14:51:57  profilanswer
 

n°420803
weed
Posté le 08-06-2003 à 00:45:42  profilanswer
 

nvl c fait pour des prunes vous pensez, ca doit etre seulement pour oracle malheuresement
 
dc si j'ai bien compris sous mysql, c ifnull(param1,para2);

n°420806
mrbebert
Posté le 08-06-2003 à 00:50:23  profilanswer
 

Oui. Avec mysql, IFNULL(param1, param2) renvoie param1 s'il est non NULL, ou param2 si param1 est à NULL.
(ca peut renvoyer NULL, si les 2 paramètres sont à NULL)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  addition de colonnes...

 

Sujets relatifs
addition affectation...[Oracle/SQL]Lister les colonnes d'une table ?
[UNIX] Contaténer des fichiers avec des colonnes différentes[HTML,CSS] Synchroniser la taille de deux colonnes
probleme d'addition(noob);Largeur des colonnes d'un tableau
[java] gestionnaire de mise en page : connaitre la ligne-colonnesSimuler comportement de colonnes avec des <div>
Comment peut on superposer une image sur deux Colonnes HTML a la fois?Titre des colonnes dans une listbox excel
Plus de sujets relatifs à : addition de colonnes...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR