Conditional Statement 조건문
CASE
-- vlaue를 비교하여 해당하는 result 실행
CASE value
WHEN [compare_value] THEN result
[WHEN [compare_value] THEN result] ...
[ELSE result]
END
-- condition의 boolean값으로 result 실행
CASE
WHEN [condition] THEN result
[WHEN [condition] THEN result] ...
[ELSE result]
END
- CASE 연산자는 비슷한 값을 서로 비교하거나, 조건에 따라 다른 값을 반환한다. (switch문과 비슷)
- 첫 번째 CASE 예시에서는 CASE 키워드 다음으로 오는 value와 compare_value 값을 비교하여 result를 실행한다.
- 두 번째 CASE 예시에서는 condition의 조건을 판단하여 result를 실행한다.
- WHEN과 THEN은 한 쌍이어야 한다.
- ELSE 부분이 없는 상태에서 조건이 참이면 NULL을 반환한다.
IF()
IF(condition, value_if_true, value_if_false)
- condition의 논리 값을 판단하여 참이면 value_if_true를 반환하고, 거짓이면 value_if_false를 반환한다.
Null Functions null 관련 함수
IFNULL()
IFNULL(expression, alt_value)
- expression이 null이면 alt_value를 반환하고, null이 아니면 expression을 반환한다.
ISNULL()
ISNULL(expression)
- expression이 null이면 1을 반환하고, null이 아니면 0을 반환한다.
NULLIF()
NULLIF(expr1, expr2)
- 두 표현식을 비교하여 같으면 null을 반환하고, 같지 않으면 expr1을 반환한다.
COALSECE()
COALESCE(val1, val2, ...., val_n)
- val 목록에서 null이 아닌 첫 번째 값을 반환한다.
Type Casting Functions 타입 변환 함수
MySQL은 비교나 검색을 할 때 데이터 타입이 다를 경우, 내부적으로 자동 변환하여 처리한다. 하지만 사용자가 명시적으로 데이터 타입을 변환할 수 있도록 다음과 같은 함수를 제공한다.
CAST()
CAST(vlaue AS datatype)
- value를 지정된 데이터 타입으로 변환하여 반환한다.
CONVERT()
CONVERT(value, type)
CONVERT(value USING charset)
- value를 지정된 데이터 타입으로 변환하여 반환한다.
- USING 절은 서로 다른 문자셋(character set) 간의 데이터 변환을 위해 사용된다.
System Functions 시스템 함수
CONNECTION_ID()
-- 현재 연결된 고유한 연결 ID 반환
DATABASE()
-- 현재 데이터베이스의 이름 반환
USER()
SESSION_USER()
SYSTEM_USER()
-- 현재 사용자 이름과 호스트 이름을 반환
LAST_INSERT_ID(expression)
-- 테이블에 삽입되거나 업데이트된 마지막 행의 AUTO_INCREMENT ID를 반환
※ 참고자료
'📚 Database' 카테고리의 다른 글
[MySQL] MySQL 날짜 관련 함수 총정리 (0) | 2022.06.11 |
---|---|
[MySQL] MySQL 숫자, 집계 함수 총정리 (0) | 2022.06.11 |
[MySQL] MySQL 문자열 함수 총정리 (0) | 2022.06.01 |
[MySQL] MySQL의 연산자(operator) (0) | 2022.06.01 |
[MySQL] SELECT QUERY (0) | 2022.06.01 |