Comment pouvons-nous vérifier dans une WHERE
condition SQL Server si la colonne n'est pas nulle et non la chaîne vide ( ''
)?
sql
sql-server
user993935
la source
la source
WHERE COALESCE(column, '') <> ''
?column
a un index, alors votre requête ne l'utilisera probablement pasDe nos jours (4,5 ans plus tard), pour faciliter la lecture à un humain, j'utiliserais
Bien qu'il y ait une tentation de rendre explicite la vérification nulle ...
... comme @Martin Smith le démontre dans la réponse acceptée, cela n'ajoute vraiment rien (et personnellement, j'évite complètement les null SQL, donc cela ne s'appliquerait pas à moi de toute façon!).
la source
Coalesce convertira les valeurs nulles en valeurs par défaut:
la source
de manière basique
la source
Pour ce faire, une méthode conviviale est la suivante:
S'il n'y a pas beaucoup de lignes ou si ce champ n'est pas indexé, vous pouvez utiliser:
la source
Vous pouvez utiliser l'un ou l'autre de ces éléments pour vérifier les chaînes nulles, blancs et vides.
la source
Vérifiez simplement: où valeur> '' - pas nul et non vide
la source