MySQL 날짜와 시간관련 함수들
아래 데이터를 이용하여 시간관련 함수 사용법을 알아보자.
- day( )
: 날짜만 가져오기
- month( ) / year( )
: 월 / 년도 가져오기
- dayname() / dayofweek()
: 요일 이름 / 요일 번호(1=Sunday, 2=Monday, ..., 7=Saturday)
dayofweek()를 사용하면 전 세계 어느 곳이든, 모든 핸드폰 사양에 적용될 수 있다.
- hour() / minute() / second()
: 시 / 분 / 초
DB에 저장되는 시간데이터 디폴트는 ISO 표준형식 이다.
그래서 사람이 보기 편한 문자열로 바꾸는 방법이 있다.
- date_format()
: 날짜와 시간 데이터를 원하는 형식으로 출력
date_format(birthdt, '%Y년 '%m월 %d일, %H시 %i분 입니다.')
=> 'birthdt' 컬럼의 날짜를 ' YYYY년 mm월 dd일, HH시 ii분 입니다.' 로 출력
date_format(now(), '%Y-%m-%d %H:%i:%s')
=> 현재 날짜와 시간을 'YYYY-MM-DD HH:mm:ss' 형식으로 출력
date_format() 함수 주요 형식 문자 %Y: 4자리 년도 %y: 2자리 년도 %M: 월 이름(January, February, ...) %m: 월 숫자(01, 02, ...) %D: 일 (1st, 2nd, ...) %d: 일 숫자(01, 02, ...) %H: 24시간 형식의 시간 %h: 12시간 형식의 시간 %i: 분 %s: 초 %p: AM/PM 표시 |
그런데, 서버에는 로컬타임(핸드폰시간)이 아닌 글로벌 표준시간(UTC)으로 반영되기 때문에, 이와 같은 방식은 잘 사용하지 않는다.
(포스팅한 글이 서버에 반영되고 DB에 저장될 때, UTC 시간으로 저장된다)
- now()
: 현재 UTC 시간 구하는 함수
- curdate()
: 현재 UTC 시간의 년/월/일 구하는 함수
- curtime()
: 현재 UTC 시간의 시/분/초 구하는 함수
- datediff()
: 시간 차이를 구하는 함수
diff = difference
- date_add( 기준날짜, interval value 단위)
: 기준 날짜에 value 단위 만큼 더하는 함수
- date_sub( 기준날짜, interval value 단위)
: 기준 날짜에 value 단위 만큼 빼는 함수
단위 : year, month, day, hour, minute, second 등
date_add() / date_sub() 함수 대신에 + / - 기호를 사용해도 된다.
'Database > MySQL' 카테고리의 다른 글
[MySQL] 여러 테이블 생성시, 연결하는 Foreign Key 설정하는 방법 (0) | 2024.05.16 |
---|---|
[MySQL] 테이블 툴 Datetype TIMESTAMP 디폴트 이용하기 (0) | 2024.05.16 |
[MySQL] 데이터 범위 선택 >, <, >=, <=, between 연산자 (0) | 2024.05.14 |
[MySQL] 조건문, CASE / if() 함수로 데이터 변환하기 (0) | 2024.05.14 |
[MySQL] 데이터가 null 인지 아닌지 확인하는 방법 is null / is not null, ifnull() 함수로 null값 채우기 (0) | 2024.05.14 |