Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีเลือกข้อมูลคอลัมน์ที่ไม่ว่างเปล่าใน MySQL

สามารถเลือกข้อมูลที่ไม่ใช่ค่าว่างได้โดยใช้ 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, สตริงว่าง (''), และช่องว่าง (' ')