๐ก NULL์ด๋?
๐๏ธ NULL
์์ง ์ ์๋์ง ์์ ๊ฐ
0(์ซ์) ์ด๋ ๊ณต๋ฐฑ(๋ฌธ์)๊ณผ๋ ๋ค๋ฆ
- NOT NULL ์ด๋ PRIMARY KEY๋ก ์ ์๋์ง ์์ ๋ชจ๋ ๋ฐ์ดํฐ ์ ํ์ NULL์ ๊ฐ์ง ์ ์์
- NULL ๊ฐ์ ํฌํจํ๋ ์ฐ์ฐ์ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ NULL
- ์ง๊ณ ํจ์์ ํต๊ณ ์ ๋ณด๋ NULL ๊ฐ์ ๊ฐ์ง ํ์ ์ ์ธํ๊ณ ์ํ
โ๏ธ ๋น๊ต
Count(*): NULL ๊ฐ์ ํฌํจํ ํ์ ์ ์ถ๋ ฅ
Count(ํํ์): ํํ์์ ๊ฐ์ด NULL์ธ ๊ฐ์ ์ ์ธํ ํ์ ์ ์ถ๋ ฅ
์ค๋ผํด
- NULL์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ๊ฐ์ฃผ
โก๏ธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ฉด ๋ง์ง๋ง ์์
- ''(๊ณต๋ฐฑ), NULL ๋ชจ๋ NULL๋ก ์ทจ๊ธ
SQL Server
- NULL์ ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ๊ฐ์ฃผ
โก๏ธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ฉด ์ ์ผ ๋จผ์ ๋์ด
- ''(๊ณต๋ฐฑ), NULL์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌ
NULL ๊ด๋ จ ํจ์
1๏ธโฃ NVL(a, b) - ์ค๋ผํด / ISNULL(a, b) - SQL Server
a๊ฐ NULL ์ด๋ฉด b๊ฐ ๋ฐํ
a๊ฐ NULL์ด ์๋๋ฉด a ์๊ธฐ ์์ ๋ฐํ
2๏ธโฃ NULLIF(a, b)
a์ b๊ฐ ๊ฐ์ผ๋ฉด NULL ๋ฐํ
a์ b๊ฐ ๋ค๋ฅด๋ฉด a๊ฐ ๋ฐํ
3๏ธโฃ COALESCE(a, b, โฆ)
a, b, โฆ ์ค์์ NULL์ด ์๋ ์ต์ด์ ํํ์ ๋ฐํ
๋ชจ๋ ํํ์์ด NULL์ด๋ผ๋ฉด NULL ๋ฐํ