내장함수는 아니지만 기본 쿼리를 살펴본다.
아래 쿼리는 DB에 커넥션이 잘되었는지 확인하는 용도로 사용한다.
connection이 성공이라면 1 반환하고, 아니면 connection error 발생한다.
SELECT 1 FROM DUAL; -- 1
1말고 다른 값을 넣어도 된다. 아래 예시를 확인해보자.
SELECT 0 FROM DUAL; -- 0
SELECT true FROM DUAL; -- 1
SELECT false FROM DUAL; -- 0
SELECT 12345 FROM DUAL; -- 12345
SQL에서 FALSE 는 0, TRUE 는 1에 해당한다.
IF()
형식: if(수식, 참일때, 거짓일때)
수식에 따라 참, 거짓으로 분기가 발생한다. 문자열 값이 와도 되고, 새로운 명령 실행도 가능하다. if() 문 안에 다시 if() 문으로 분기도 가능하다.
SELECT if(12 > 15, 'GOOD', 'BAD'); -- BAD
SELECT if(12 % 2 = 0, 'GOOD', 'BAD'); -- GOOD
SELECT if(1 = 0, 'NO1', if(1 != 1, 'NO2', 'YES')); -- YES
IFNULL()
형식: ifnull(수식1, 수식2)
수식1 값이 null 이라면 수식2 반환, null이 아니라면 수식1가 반환된다.
SELECT ifnull(NULL, '12345'); -- 12345 => 뒤에 있는 값 반환
SELECT ifnull('ABC', 'SHOW'); -- ABC => 앞에 있는 값 반환
SELECT ifnull(1 = 1, '222'); -- 1 => 수식1이 true, 즉 1이므로 null이 아님
SELECT ifnull(1 = 0, '222'); -- 0 => 수식1이 false, 즉 0이므로 null이 아님
NULLIF()
형식: nullif(수식1, 수식2)
수식1과 수식2가 같다면 null 반환. 같지않다면 수식1 반환
SELECT nullif(100, 101); -- 100
SELECT nullif(NULL, '123'); -- NULL
SELECT nullif(1+1, 2); -- NULL
SELECT nullif(1, '1'); -- NULL
SELECT nullif('TRUE', TRUE); -- TRUE
SELECT nullif(FALSE, TRUE); -- 0
SELECT nullif(TRUE, FALSE); -- 1
SELECT nullif(TRUE, !FALSE); -- NULL
SELECT nullif(FALSE, !TRUE); -- NULL
'SQL' 카테고리의 다른 글
[SQL] MySQL 함수 활용하기 -문자열 다루기 (0) | 2022.09.27 |
---|