2009-07-23 7 views
4

J'ai besoin de mettre un cas dans le Select pour vérifier si les données que j'ajoute à ma vue sont NULL, auquel cas je veux juste entrer un zéro, ou pas.MySQL Voir vérifier si les données sont NULL

+0

Je suis confus. Vous ne pouvez pas, à ma connaissance, ajouter ou mettre à jour des informations dans la base de données dans un SELECT. Voulez-vous dire retourner '0'. Et je ne suis pas sûr de ce que vous voulez dire par «ou pas». Pouvez-vous s'il vous plaît fournir plus d'informations. – MitMaro

Répondre

12

Vous voulez dire quelque chose comme ça?

SELECT IF(`field` IS NULL, 0, `field`)... 

Il y a aussi "IFNULL()":

SELECT IFNULL(`field`, 0)... 
+1

c'est un cas classique d'utilisation abusive de IF() et IFNULL() où le plus généralement accepté COALESCE() est une meilleure idée. – longneck

2

Lors de la création de votre tableau, ajoutez simplement NOT NULL à la description de la colonne, par ex.

CREATE TABLE ( ID INT NOT NULL default '0' );

Ensuite, si aucune donnée est donnée pour le champ est réglé sur la valeur par défaut de 0 qui sera récupéré lorsque vous exécutez une requête SELECT.

+1

cela ne s'applique pas si, par exemple, la valeur NULL est le résultat d'une jointure gauche. – longneck

7
select coalesce(field, 0) as 'field' from v; 

(doc)