5. DB/4-1. MySQL DBMS

MySQL - [ 단일 행 함수 (변환 함수 / 제어 흐름 함수 / 시스템 정보 함수)]

yunyj99 2022. 4. 19. 00:10

1. 변환함수

DATE_FORMAT(날짜, 형식) 날짜를 형식에 맞게 출력하는 함수
더보기

%Y : 년도를 4자리 숫자로 표현

%y : 년도를 2자리 숫자로 표현

 

%M : 월을 영문 풀네임으로 표현

%b : 월을 영문 약자로 표현

%m : 월을 2자리 숫자로 표현

%c : 월을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현

 

%d : 일을 2자리 숫자로 표현

%e : 일을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현

 

%W : 요일을 영문 풀네임으로 표현

%a : 요일을 영문 약자로 표현

 

%H : 시간을 24시간으로 표현

%h : 시간을 12시간으로 표현

%k : 시간을 24시간으로 표현하되 0보다 작을 경우 한자리로 표현

%l (소문자 엘) : 시간을 12시간으로 표현하되 0보다 작을 경우 한자리로 표현

%i : 분을 2자리 숫자로 표현

%s : 초를 2자리 숫자로 표현

 

Ex1)
select date_format(now( ), '%Y-%M-%d') as "Now";

Ex2)
select date_format(now(), '%Y/%M/%d %H:%i:%s') as "Now";
Ex1 결과
Ex2 결과

 

 

CAST(값 AS 데이터타입) 값을 지정된 데이터타입으로 변환하는 함수
더보기
데이터 타입 데이터 타입
BINARY  CHAR (문자형) 
SIGNED (부호 있는 정수형)  UNSIGNED (부호 없는 정수형) 
DECINAL (숫자형)  DOUBLE (숫자형) 
FLOAT (숫자형)  DATETIME (날짜형) 
DATE (날짜형) TIME (시간)

 

Ex1)
select cast("123" as signed), cast("-123.45" as signed), 
	cast("123" as unsigned), cast("123.45" as unsigned);

Ex2)
select cast('2022/03/18' as date) as '날짜1', cast('2022@03@18' as date) as '날짜2';
Ex1 결과
Ex2 결과

 

 


2. 제어 흐름 함수

IF(논리식, 참일 때 값, 거짓일 때 값) 논리식이 참이면 참일 때 값을 출력하고 거짓이면 거짓일 때 값을 출력하는 함수
IFNULL(수식1, 수식2) 수식1이 NULL이 아니면 수식1이 반환되고, 수식1 이 NULL이면 수식2가 반환되는 함수
NULLIF(수식1, 수식2)
수식1과 수식2가 같으면 NULL을 반환하고, 다르면 수식1을 반환하는 함수
더보기
Ex1)
select if(100>200, '참이다', '거짓이다') as "결과";

Ex2)
select ifnull(null, '널이군요') as "결과1", ifnull(100, '널이군요') as "결과2";

Ex3)
select nullif(100, 100) as "결과1", nullif(100, 200) as "결과2";

 

Ex1 결과
Ex2 결과
Ex3 결과

 

 

CASE 비교값 WHEN 값1 THEN 결과1
                 WHEN 값2 THEN 결과2
                 ... ...
                 ELSE 기본값
END
- SQL구문에서 if-then-else의 논리를 적용할 수 있는 연산자
- 함수는 아니나 제어 흐름 함수와 함께 정리해 두기
더보기
Ex)
select case 10 when 1 then '일' when 5 then '오' when 10 then '십' else '모름' end as 'case예제';
Ex 결과

 

 


3. 시스템 정보 함수

USER( )
CURRENT_USER( )
SESSION_USER()
현재 사용자 정보를 반환하는 함수
DATABASE( )
SCHEMA( )
현재 데이터베이스 또는 스키마 정보를 반환하는 함수
VERSION( ) 현재 MySQL 버전을 반환하는 함수
더보기
Ex1)
select user( ), current_user( ), session_user( );

Ex2)
select database( ), schema( );

Ex3)
select version( );
Ex1 결과
Ex2 결과
Ex3 결과