web-dev-qa-db-fra.com

Besoin d'aide pour sélectionner des valeurs de colonne non vides dans MySQL

J'ai une table MySQL qui a environ 30 colonnes. Une colonne a des valeurs vides pour la majorité du tableau. Comment puis-je utiliser une commande MySQL pour filtrer les éléments qui ont des valeurs dans le tableau?

Voici ma tentative:

SELECT * FROM `table` WHERE column IS NOT NULL

Cela ne filtre pas car j'ai des cellules vides plutôt que d'avoir NULL dans la cellule void.

22
codacopia

Recherchez également les colonnes différentes de la chaîne vide ''

SELECT * FROM `table` WHERE column IS NOT NULL AND column <> ''

Si vous avez des champs contenant uniquement des espaces que vous considérez comme vides, utilisez TRIM() pour éliminer les espaces, et laissez éventuellement la chaîne vide ''

SELECT * FROM `table` WHERE column IS NOT NULL AND TRIM(column) <> ''
51
Michael Berkowski

Une approche alternative qui gère également les espaces vides dans une colonne ainsi que null:

SELECT * FROM `table` WHERE TRIM(column) > ''
8
user1368905