Oracle SQL 입문
Hadrien Lacroix
Content Developer
NULL이 포함된 산술식 결과는 NULLNULL + 10 = NULLNULL을 무시COUNT는 열의 NULL을 세지 않음현실 데이터는 완벽하지 않습니다.
=로는 NULL을 비교할 수 없습니다
대신 다음을 사용:
IS NULL SELECT * FROM Customer WHERE LastName IS NULL
IS NOT NULLSELECT * FROM Customer WHERE LastName IS NOT NULL
NVL(x, y): NULL일 수 있는 x를 NULL이 아닌 y로 변환.
SELECT NVL(HireDate, '11/19/2004')
FROM Employee
NULLIF(x, y): x와 y를 비교하여 반환:
x=y이면 NULLxSELECT 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 입문