수식이 참이면 참, 아니면 거짓을 반환한다.
SELECT IF (1 > 10, '참', '거짓'); -- 결과는 거짓 일것이다.
수식 1이 NULL이면 수식2를 반환하고, 아니면 수식1이 그대로 반환된다.
SELECT IFNULL(NULL,'널이다.'); -- 널이다.
SELECT IFNULL('널이 아님','수식1이 반환된다.'); -- 널이 아님
수식1과 2가 같으면 NULL을 반환하고 아니면 수식1을 반환한다.
SELECT NULLIF(1,1); -- NULL
SELECT NULLIF(1,0); -- 1
SELECT NULLIF('Hi','A'); -- Hi
SELECT NULLIF('Hi',0); -- NULL 이경우는 서로 다른데 문자와 숫자를 비교할때 문자를 0으로 봐서 NULL이 나온듯 하다.
CASE는 내장 함수가 아닌 연산자이다.
SELECT CASE 11 -- CASE뒤에 오는 숫자로 비교하는데 이경우 11을 입력해서 뭐죠?가 반환된다.
WHEN 1 THEN '하나'
WHEN 5 THEN '다섯'
WHEN 10 THEN '열'
ELSE '뭐죠?'
END AS 'CASE실습';
이거 컴활 1급 실기에서 많이 사용했던 CASE문과 비슷해서 참 친숙하다.
역시 뭐든 배워두면 통하는구나