📚 Database

[MySQL] MySQL 조건문, null 함수, 타입 변환, 시스템 함수

오늘 ONEUL 2022. 6. 11. 15:06

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를 반환

 

 

 

 

 

※ 참고자료

http://www.tcpschool.com/mysql/mysql_operator_flowControl

https://www.w3schools.com/sql/sql_ref_mysql.asp