303 votes

Comment vérifier la chaîne n'est pas nulle et n'est pas vide dans le serveur SQL ?

Comment pouvons-nous vérifier dans une condition SQL Server WHERE si la colonne n'est pas nulle et pas la chaîne vide ( '' ) ?

155voto

onedaywhen Points 24594
WHERE NULLIF(your_column, '') IS NOT NULL

De nos jours (4,5 ans plus tard), pour faciliter la lecture pour un humain, j'utiliserais simplement

 WHERE your_column <> ''

Bien qu'il y ait une tentation de rendre la vérification nulle explicite...

 WHERE your_column <> '' 
      AND your_column IS NOT NULL

... comme le montre @Martin Smith dans la réponse acceptée, cela n'ajoute vraiment rien (et personnellement, je rejette complètement les valeurs nulles SQL de nos jours, donc cela ne s'appliquerait pas à moi de toute façon!).

21voto

Saalim Bhoraniya Points 170

de manière basique

 SELECT *
FROM [TableName]
WHERE column_name!='' AND column_name IS NOT NULL

17voto

Anoop Verma Points 874

Coalesce repliera les valeurs nulles dans une valeur par défaut :

 COALESCE (fieldName, '') <> ''

8voto

Luc Points 1393

Une façon conviviale d'indexer de le faire est :

 where (field is not null and field <> '')

S'il n'y a pas beaucoup de lignes ou si ce champ n'est pas indexé, vous pouvez utiliser :

  where isnull(field,'') <> ''

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X