๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๊ฒฉ์ฆ/SQLD

[SQL/Oracle] NULL ์น˜ํ™˜ ํ•จ์ˆ˜

by _silver 2025. 11. 12.
1. NVL | ISNULL(์ปฌ๋Ÿผ, ์น˜ํ™˜ํ•  ๊ฐ’)

- null ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์น˜ํ™˜

 

๐Ÿ—’๏ธ NVL์˜ ์ ˆ๋Œ€ ๊ทœ์น™: NVL(์ธ์ˆ˜, ์ธ์ˆ˜) → ๋‘ ์ธ์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ผ์น˜ ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

 

์˜ˆ์ œ) NVL(COMM, 100) | ISNULL(COMM, 200)

COMM NVL ์ ์šฉ ISNULL ์ ์šฉ
NULL → 100 → 200
500 → 500  → 500 

NULL์ด๋ฉด 100 | 200์œผ๋กœ ์น˜ํ™˜

NULL์ด ์•„๋‹ˆ๋ฉด ๋ณธ์ธ๊ฐ’ Return

 


2. COALESCE(์ปฌ๋Ÿผ, ์ธ์ˆ˜1, ์ธ์ˆ˜2, ์ธ์ˆ˜3, ...)

- NVL ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์ด ์—ฌ๋Ÿฌ๊ฐœ ์ ์šฉ ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜

- ์ธ์ž์˜ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ ์ด์ƒ์œผ๋กœ ๋™์ ์œผ๋กœ ์ž…๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ 1) COALESCE(COMM, 100)

COMM COALESCE ์ ์šฉ
NULL → 100
500 → 500 

NULL์ด ์•„๋‹Œ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๊ฐ’์„ ๋ฆฌํ„ด ํ•œ๋‹ค.

 


3. NULLIF(์ปฌ๋Ÿผ, ๋น„๊ต๊ฐ’)

- ๊ฐ ํ–‰์˜ ๊ฐ’๊ณผ ๋น„๊ต๊ฐ’์ด ๊ฐ™์œผ๋ฉด : NULL

- ๊ฐ ํ–‰์˜ ๊ฐ’๊ณผ ๋น„๊ต๊ฐ’์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด : ๋ณธ์ธ๊ฐ’

 

์˜ˆ์ œ 1) NULLIF(COMM, 500)

ํ–‰๋ฒˆํ˜ธ COMM NULLIF ์ ์šฉ
1 NULL → NULL
2 500 → NULL
3 600 → 600

→ 1๋ฒˆ ํ–‰์˜ ๊ฐ’(NULL)๊ณผ ๋น„๊ต๊ฐ’(500)์ด ๊ฐ™์ง€ ์•Š์•„ ๋ณธ์ธ๊ฐ’(NULL) Return

2๋ฒˆ ํ–‰์˜ ๊ฐ’(500)๊ณผ ๋น„๊ต๊ฐ’(500)์ด ๊ฐ™์•„ NULL Return

3๋ฒˆ ํ–‰์˜ ๊ฐ’(600)๊ณผ ๋น„๊ต๊ฐ’(500)์ด ๊ฐ™์ง€ ์•Š์•„ ๋ณธ์ธ๊ฐ’(600) Return