สามารถเลือกข้อมูลที่ไม่ใช่ค่าว่างได้โดยใช้ IS NOT NULL ร่วมกับฟังก์ชัน TRIM()
ไวยากรณ์
SELECT * FROM yourTableName WHERE yourColumnName IS NOT NULL AND TRIM(yourColumnName) <> '';
ตัวอย่างการใช้งาน
สร้างตารางทดสอบ:
mysql> CREATE TABLE SelectNonEmptyValues (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(30),
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูลทดสอบ (รวม NULL, ค่าว่าง, และช่องว่าง):
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES('John Smith');
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES(NULL);
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES('');
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES('Carol Taylor');
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES('DavidMiller');
mysql> INSERT INTO SelectNonEmptyValues(Name) VALUES(' ');
ข้อมูลทั้งหมดในตาราง
+----+-----------------------+ | Id | Name | +----+-----------------------+ | 1 | John Smith | | 2 | NULL | | 3 | | | 4 | Carol Taylor | | 5 | DavidMiller | | 6 | | +----+-----------------------+
คำสั่งเลือกเฉพาะข้อมูลที่ไม่ว่าง
mysql> SELECT * FROM SelectNonEmptyValues
-> WHERE Name IS NOT NULL AND TRIM(Name) <> '';
ผลลัพธ์
+----+--------------+ | Id | Name | +----+--------------+ | 1 | John Smith | | 4 | Carol Taylor | | 5 | DavidMiller | +----+--------------+
หมายเหตุ: คำสั่งนี้จะกรองได้ทั้ง NULL, สตริงว่าง (''), และช่องว่าง (' ')