이 글은 아사이 아츠시 저 "하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기 SQL 첫걸음"을 기반으로 작성되었습니다.
문자열을 결합하는 연산자
select concat(quantity, unit) from table
문자열의 일부분을 계산해서 반환해주는 함수
select substring('20140125001',1,4)
> '2014'
문자열의 앞뒤의 공백을 제거해주는 함수
select trim('ABC ')
> 'ABC'
문자열의 길이를 반환해주는 함수 (char_length로 줄여쓸 수 있음)
select char_length('ABC')
> 3
현재 날짜를 반환해주는 함수(인자 및 괄호가 필요없음)
select current_timestamp
> 2022-01-02 05:17:21
interval은 기간형 상수를 나타내는 예약어로 n은 양수, 음수 모두 가능하다.
select current_date + interval 2 day
> 2022-01-04 00:00:00
select current_date - interval 1 year
> 2021-01-02 00:00:00
함수의 IF 문과 비슷한 개념으로 '검색 CASE문'과 '단순 CASE문' 2개가 존재
1) 검색 CASE
CASE WHEN 조건1 THEN 식1
[WHEN 조건2 THEN 식2]
[ELSE 식3]
END
2) 단순 CASE
CASE a
WHEN 1 THEN '고양이'
WHEN 2 THEN '강아지'
ELSE '미지정'
END
주의할 점
1) ELSE를 생략하면 자동으로 ELSE NULL로 지정이 된다. 따라서 ELSE를 생략하지 않고 지정하는 습관을 들이는 것이 좋다.
2) 단순 CASE문에서는 WHEN에서 NULL과 비교할 수 없다. 따라서 검색 CASE문에서 IS NULL로 비교를 해줘야 한다.