التأكد من خُلوّ القيمة IS NULL في SQL
< SQL
يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد)، ويكون سياق التعبير بالشكل الآتي:
column IS [NOT] NULL
وغالبًا ما تستخدم في العبارة WHERE للتحقق من وجود القيمة في إحدى حقول السجلات.
مثال
إن كانت قاعدة البيانات تحتوي الجدول customers الآتي:
| Bill | OrderID | Phone | FullName | CustomerID |
|---|---|---|---|---|
| 160 | 0291 | NULL | Abd al-Salam Hadi | 1156 |
| 170 | 0302 | (171) 555-2222 | Ahmad Mostafa | 1157 |
| 210 | 0203 | (100) 555-4822 | Reem Hammad | 1158 |
| 350 | 0294 | NULL | Abd Allah Sadiq | 1159 |
| 185 | 0255 | (03) 3555-5011 | Raghad al-Hamdan | 1160 |
| 165 | 0276 | (98) 598 76 54 | Abd al-Razzaq Salloum | 1161 |
| 175 | 0247 | NULL | Hussam Siraj | 1162 |
| 180 | 0208 | NULL | Hiba Maktabi | 1163 |
| 170 | 0219 | (06) 431-7877 | Abd al-Rahman Rida | 1164 |
| 220 | 0210 | NULL | Abd al-Qader Khalil | 1165 |
إن الاستعلام الآتي:
SELECT *
FROM customers
WHERE Phone IS NULL;
سيُظهر السجلات التي لا تحتوي على أي قيمة في حقل Phone على النحو الآتي:
| Bill | OrderID | Phone | FullName | CustomerID |
|---|---|---|---|---|
| 160 | 0291 | NULL | Abd al-Salam Hadi | 1156 |
| 350 | 0294 | NULL | Abd Allah Sadiq | 1159 |
| 175 | 0247 | NULL | Hussam Siraj | 1162 |
| 180 | 0208 | NULL | Hiba Maktabi | 1163 |
| 220 | 0210 | NULL | Abd al-Qader Khalil | 1165 |
أما لعرض الزبائن الذي زوّدوا قاعدة البيانات برقم الهاتف، يستخدم الاستعلام الآتي:
SELECT *
FROM customers
WHERE Phone IS NOT NULL;
لتظهر النتائج:
| Bill | OrderID | Phone | FullName | CustomerID |
|---|---|---|---|---|
| 170 | 0302 | (171) 555-2222 | Ahmad Mostafa | 1157 |
| 210 | 0203 | (100) 555-4822 | Reem Hammad | 1158 |
| 185 | 0255 | (03) 3555-5011 | Raghad al-Hamdan | 1160 |
| 165 | 0276 | (98) 598 76 54 | Abd al-Razzaq Salloum | 1161 |
| 170 | 0219 | (06) 431-7877 | Abd al-Rahman Rida | 1164 |
التوافقية
| SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
|---|---|---|---|---|
| نعم | نعم | نعم | نعم | نعم |