Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

NULL과 문자열 연결: ISNULL, COALESCE 함수 본문

MSSQL/다양한 SQL 함수 사용(문자열 함수)

NULL과 문자열 연결: ISNULL, COALESCE 함수

빌드이너프 2024. 12. 4. 22:55

만약 문자열과 연결하려는 값이 NULL이면 결과는 NULL로 반환된다.

그래서 테이블에 NULL이 있다면 문자열 또는 숫자로 자료형을 변환해야 한다.

NULL은 ISNULL 함수나 COALESCE 함수로 자료형을 변환한다.

 

ISNULL함수

인자로 (열 이름, 대체할 값)과 같이 전달하면 해당 이름의 NULL을 대체할 값으로 변환

 

ISNULL 함수의 형 변환 기본 형식

ISNULL(check_expression, replacement_value)

 

sector 열의 값이 NULL이면 공백 ''으로 대체

SELECT symbol, ISNULL(sector, ''), industry, open_price FROM nasdaq_company
WHERE symbol = 'DBA'

 

sector 열의 값이 NULL이면 'industry'로 대체

SELECt symbol, ISNULL(sector, industry), industry, open_price FROM nasdaq_company
WHERE symbol = 'DBA'

 

COALESCE 함수

(열 이름 1, 열 이름 2, ...)와 같이 여러 열 이름을 인자로 전달한다.

첫 번째 인자로 전달한 값이 NULL일 때 이후 쉼표로 구분해 입력한 N개의 인자를 순차 대입한다.

 

sector 값이 NULL일 떄, 다음 인자인 industry가 NULL이면 그다음 인자인 open_price를 확인해 대입하는 식

SELECT symbol, COALESCE(sector, industry, open_price), industry, open_price
FROM nasdaq_company
WHERE symbol = 'DBA'