Database/MySQL

MySQL 쿼리 - 날짜함수

Any Developer 2021. 5. 11. 16:40
함수 이름 내용 예시
curdate() 현재 날짜 2021-05-11
now() 현재 날짜/시간 2021-05-11 15:32:45
curtime() 현재 시간 15:31:59
date_format(date,format) format형식의 날짜 반환  

 

예시 1)

select now();

now()

 

예시 2)

select date_format(now(),'%Y%m%d');

date_format(now(),'%Y%m%d')

 

응용 2-1) 응용 함수

  •  앞에 문자열 입력 'ABC'
  •  중간에 날짜 포맷 (%Y%m%d)
  •  뒤에 일련번호 4자리 (0001, 0002, ..., 0010)
CREATE FUNCTION `FN_GETCODE`(frontstr varchar(45), rearnum int) 
RETURNS varchar(45) CHARSET utf32
BEGIN

	/* 숫자를 4자리로 변환하고 빈칸을 0으로 패딩하는 임시 변수 선언 */
    declare rearnumstr varchar(10) default null;
    /* 반환 문자열 선언 */
    declare returnstr varchar(45) default null;
    
    /* 숫자를 0000 형식의 문자열로 반환하는 쿼리문 */
    select LPAD(rearnum,4,0) into rearnumstr;
    
    /* 입력받은 Front 문자열 + 년월일 포맷의 문자 + 0000형식의 문자열 연결 */
	select concat (frontstr,date_format(now(),'%Y%m%d'),rearnumstr) into returnstr;
    
    /* 최종 결과 반환 */
    return returnstr;

END

함수 실행

 

FN_GETCODE 함수 실행 결과