SQL

[SQL] NULL 관련 함수

bornsoon 2024. 11. 3. 17:58

SQL에서 데이터를 다룰 때 NULL에 유의해야 한다.

왜냐하면 NULL 값을 포함하는 연산의 결과가 모두 NULL 값으로 나오기 때문이다.

이같은 특성 때문에 NULL 값을 다루기 위한 함수가 필요하다.

특히 NULL 을 포함하지 않은 결과를 얻고 싶을 때,

NVL 함수(Oracle) 또는 ISNULL 함수(SQL Server)가 많이 사용된다.

 

 

NVL(표현식1, 표현식2) /
ISNULL(표현식1, 표현식2)
표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다.
단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다.
NULLIF(표현식1, 표현식2) 표현식1이 표현식2와 같으면  NULL을, 같지 않으면 표현식 1을 반환한다.
특정 값을 NULL로 대체하는 경우에 유용하게 사용될 수 있다.
COALESCE(표현식1, 표현식2, ...) 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다.
모든 표현식이 NULL이라면 NULL을 반환한다.

 

 

※ GROUP BY에서는 NULL값이 있으면 NULL값에 해당하는 행들은 하나의 그룹으로 집계된다.

 

※ 집계합수의 연산에서는 NULL값에 해당하는 행은 연산에서 제외된다.

 (예: 평균값을 계산하는 AVG함수에서는 분자에도 분모에도 아예 포함되지 않고 제외되서 계산된다.)


https://bornsoon.tistory.com/63

 

[SQL] SQL의 NULL

SELECT last_name, salary, commission_pct FROM employees WHERE commission_pct = NULL;  --> 결과값 아무것도 안나옴 ---------------------------------------------------------------------------------------------SELECT last_name, salary, co

bornsoon.tistory.com

 

728x90