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

วิธีเช็คฟิลด์เป็น NULL หรือว่างใน MySQL (IF function)

คำสั่ง: ใช้ IF()

SELECT IF(yourColumnName IS NULL OR yourColumnName = '', 'NULLId', yourColumnName) AS anyVariableName FROM yourTableName;

ตัวอย่าง

สร้างตารางและข้อมูล (มี NULL และ Empty String)

mysql> create table NullAndEmptyDemo (Id varchar(200));
mysql> insert into NullAndEmptyDemo values(NULL),('Smith123'),(' '),('98765'),(NULL),('Carol567'),('');

แสดงข้อมูลดิบ

+----------+
| Id       |
+----------+
| NULL     |
| Smith123 |
|          |
| 98765    |
| NULL     |
| Carol567 |
|          |
+----------+

ใช้ IF() ตรวจสอบ

mysql> SELECT IF(Id IS NULL OR Id = '', 'NULLId', Id) AS UpdatedColumnValue FROM NullAndEmptyDemo;
+--------------------+
| UpdatedColumnValue |
+--------------------+
| NULLId             |
| Smith123           |
| NULLId             |
| 98765              |
| NULLId             |
| Carol567           |
| NULLId             |
+--------------------+

สังเกต

  • แถวที่ 3: Space ' ' → ไม่ถูกจับ (เพราะไม่ใช่ Empty String)
  • แถวที่ 7: Empty String '' → ถูกจับ → กลายเป็น 'NULLId'
  • ถ้าต้องการจับ Space ด้วย: TRIM(Id) = '' หรือ Id = '' OR Id IS NULL OR TRIM(Id) = ''

ฟังก์ชันทางเลือก: COALESCE()

SELECT COALESCE(NULLIF(TRIM(Id), ''), 'NULLId') FROM NullAndEmptyDemo;

จับทั้ง NULL, Empty String, และ Space-only