티스토리 뷰
728x90
COALESCE 구문은 인수를 순서대로 체크하여 처음으로 NULL이 아닌 값을 반환한다.
인수는 여러 개가 입력되어도 상관없다.
SELECT COALESCE(1, NULL, NULL, 2) --1
SELECT COALESCE(NULL, NULL, NULL, 2) --2
SELECT COALESCE(NULL, 'HI', 'HELLO') --HI
SELECT COALESCE(NULL, NULL, NULL, NULL) --ERROR
또, COALESCE 구문은 CASE 구문을 대체할 수 있다.
아래 COALESCE 와 CASE 는 동일한 의미를 가진다.
SELECT BusinessEntityID
, FirstName
, Title
--TITLE값이 NULL인 경우 'N/A'출력
, CASE WHEN Title IS NULL THEN 'N/A' ELSE Title END [CASE]
, COALESCE(Title, 'N/A') [COALESCE]
FROM [AdventureWorks2014].[Person].[Person]
CREATE TABLE salaries (
staff_id INT PRIMARY KEY,
hourly_rate decimal,
weekly_rate decimal,
monthly_rate decimal,
CHECK(
hourly_rate IS NOT NULL OR
weekly_rate IS NOT NULL OR
monthly_rate IS NOT NULL)
);
INSERT INTO salaries
( staff_id,
hourly_rate,
weekly_rate,
monthly_rate
)
VALUES
(1,20, NULL,NULL),
(2,30, NULL,NULL),
(3,NULL, 1000,NULL),
(4,NULL, NULL,6000),
(5,NULL, NULL,6500);
SELECT * FROM salaries
SELECT
staff_id,
COALESCE(
hourly_rate*22*8,
weekly_rate*4,
monthly_rate
) monthly_salary
FROM
salaries;
728x90
LIST
'Programming > MS SQL Server' 카테고리의 다른 글
[MS SQL SERVER] 기본적인 DDL 구문 정리 (0) | 2021.11.08 |
---|---|
[MS SQL SERVER] NULLIF (0) | 2021.10.29 |
[MS SQL SERVER] PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE, NOT NULL (0) | 2021.10.29 |
[MS SQL SERVER] SYNONYM (0) | 2021.10.29 |
[MS SQL SERVER] SEQUENCE (0) | 2021.10.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 에코캡
- Tableau
- 넷플릭스
- insert
- SQL Server
- 동국알앤에스
- list
- 분석탭
- hackerrank
- 넥스트BT
- 미중무역전쟁
- tensorflow
- 해커랭크
- python3
- HK이노엔
- 경구치료제
- TSQL
- string
- 테슬라
- 매매일지
- mysql
- python
- 대원화성
- MS SQL Server
- 코로나19
- Weather Observation Station
- MSSQL
- 몰누피라비르
- 리비안
- DATABASE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함