addition de colonnes... - SQL/NoSQL - Programmation
Marsh Posté le 29-05-2003 à 16:49:20
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?
... et puis il doit y avoir une fonction pour convertir en entier..
Marsh Posté le 29-05-2003 à 17:28:26
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.
Marsh Posté le 03-06-2003 à 20:44:53
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. |
Non, un SGBD propre fait la différence entre NULL et 0
NULL = non renseigné
0 = renseigné et à 0
Marsh Posté le 04-06-2003 à 02:17:10
oui mais il parlait de mysql, et je crois que mysql met 0 par defaut, mais je peux me tromper
Marsh Posté le 04-06-2003 à 10:04:05
Non, NULL n'est pas équivalent à la valeur 0. Ce sont 2 choses bien distinctes, même avec mysql.
Marsh Posté le 04-06-2003 à 12:15:57
je sais bien que c'est deux notions distinctes (), mais dans mon mysql mes colonnes de type int sont à 0 qd elles n'ont pas de valeur spécifique
(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" )
Marsh Posté le 04-06-2003 à 14:47:55
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" ) |
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
Marsh Posté le 04-06-2003 à 14:51:57
MagicBuzz a écrit : |
euh bon en effet c'etait le cas
(colonne declarée notnull - "default 0" du coup)
Marsh Posté le 08-06-2003 à 00:45:42
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);
Marsh Posté le 08-06-2003 à 00:50:23
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)
Marsh Posté le 29-05-2003 à 16:30:28
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 !