Oracle SQL เบื้องต้น
Hadrien Lacroix
Content Developer
NULL จะให้ผลลัพธ์เป็น NULLNULL + 10 = NULLNULLCOUNT ไม่นับค่า NULL ในคอลัมน์ข้อมูลในโลกจริงไม่สมบูรณ์เสมอไป
ไม่สามารถใช้ = ตรวจสอบค่า NULL ได้
ให้ใช้แทน:
IS NULL SELECT * FROM Customer WHERE LastName IS NULL
IS NOT NULLSELECT * FROM Customer WHERE LastName IS NOT NULL
NVL(x, y): แปลง x ซึ่งอาจเป็นค่า null ให้เป็น y ซึ่งเป็นค่าที่ไม่ใช่ null
SELECT NVL(HireDate, '11/19/2004')
FROM Employee
NULLIF(x, y): เปรียบเทียบ x กับ y แล้วคืนค่า
NULL ถ้า x=yx ถ้าไม่เท่ากันSELECT c.CustomerId, i.BillingCity, c.City, NULLIF(i.BillingCity, c.City)
FROM Invoice i, Customer c
| CustomerId | BillingCity | City | NULLIF |
|------------|-------------|-----------|--------|
| 48 | Oslo | Amsterdam | Oslo |
| 49 | Boston | Vienne | Boston |
| 59 | London | London | NULL |
COALESCE: คืนค่าที่ไม่ใช่ null ค่าแรกในลิสต์
SELECT CustomerId, COALESCE(phone, email, fax) AS ContactMethod
FROM Customer
| CustomerId | ContactMethod |
|------------|-------------------------|
| 59 | +91 080 22289999 |
| 58 | [email protected] |
| 57 | +56 (0)2 635 4444 |
Oracle SQL เบื้องต้น