Gebruik IS NOT NULL
. (De vergelijkingsoperatoren =
en <>
beide geven UNKNOWN
met NULL
aan weerszijden van de uitdrukking.)
SELECT *
FROM table
WHERE YourColumn IS NOT NULL;
Voor de volledigheid vermeld ik dat je in MySQL ook de null veilige gelijkheidsoperator maar dit is geen standaard SQL.
SELECT *
FROM table
WHERE NOT (YourColumn <=> NULL);
Bewerkt om opmerkingen weer te geven. Het klinkt alsof uw tabel misschien niet in de eerste normale vorm is, in welk geval het wijzigen van de structuur uw taak gemakkelijker kan maken. Een paar andere manieren om het te doen...
SELECT val1 AS val
FROM your_table
WHERE val1 IS NOT NULL
UNION ALL
SELECT val2
FROM your_table
WHERE val2 IS NOT NULL
/*And so on for all your columns*/
Het nadeel van het bovenstaande is dat het de tabel meerdere keren per kolom scant. Dat kan misschien worden vermeden door het onderstaande, maar ik heb dit niet getest in MySQL.
SELECT CASE idx
WHEN 1 THEN val1
WHEN 2 THEN val2
END AS val
FROM your_table
/*CROSS JOIN*/
JOIN (SELECT 1 AS idx
UNION ALL
SELECT 2) t
HAVING val IS NOT NULL /*Can reference alias in Having in MySQL*/