-
Mysql - 시간,날짜 관련 함수(1)DataBase/MySql 2023. 9. 25. 10:54반응형
시간,날짜 관련 함수
- 현재 시간, 날짜
함수 설명 CURRENT_DATE, CURDATE 현재 날짜 반환 CURRENT_TIME, CURTIME 현재 시간 반환 CURRENT_TIMESTAMP, NOW 현재 시간과 날짜 반환 SELECT CURDATE(), CURTIME(), NOW();
- 문자열에 따른 날짜,시간
함수 설명 DATE 문자열에 따라 날짜 생성 TIME 문자열에 따라 시간 생성 SELECT
'2021-6-1' = '2021-06-01',
DATE('2021-6-1') = DATE('2021-06-01'),
'1:2:3' = '01:02:03',
TIME('1:2:3') = TIME('01:02:03');DATE 함수를 사용하는 경우와 하지 않는 경우의 결과값이 다르다. TIME또한 동일하다.
해당 함수를 사용하는 경우는 문자열이 들어오면 자동으로 해당 포맷에 맞추어 비교를 하기 때문이다.
SELECT * FROM Orders
WHERE OrderDate BETWEEN DATE('1997-1-1') AND DATE('1997-1-31');이와같이 특정 기간동안의 데이터 조회를 하는 경우 유용하게 사용된다.
- 년,월,일, DateTime
함수 설명 YEAR 주어진 DATETIME값의 년도 반환 MONTHNAME 주어진 DATETIME값의 월(영문) 반환 MONTH 주어진 DATETIME값의 월 반환 WEEKDAY 주어진 DATETIME값의 요일 반환(월요일:0) DAYNAME 주어진 DATETIME값의 요명 반환 DAYOFMONTH, DAY 주어진 DATETIME값의 날짜(일) 반환 SELECT
OrderDate,
CONCAT(
CONCAT_WS(
'/',
YEAR(OrderDate), MONTH(OrderDate), DAY(OrderDate)
),
' ',
UPPER(LEFT(DAYNAME(OrderDate), 3))
) AS DateForm FROM Orders;
- 시, 분, 초
함수 설명 HOUR 주어진 DATETIME의 시 반환 MINUTE 주어진 DATETIME의 분 반환 SECOND 주어진 DATETIME의 초 반환 SELECT HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
-시간 날짜 더하기, 빼기
함수 설명 ADDDATE, DATE_ADD 시간/날짜 더하기 SUBDATE, DATE_SUB 시간/날짜 빼기 SELECT
OrderDate,
ADDDATE(OrderDate, INTERVAL 1 YEAR),
ADDDATE(OrderDate, INTERVAL -2 MONTH),
ADDDATE(OrderDate, INTERVAL 3 WEEK),
ADDDATE(OrderDate, INTERVAL -4 DAY),
ADDDATE(OrderDate, INTERVAL -5 MINUTE)
FROM Orders;해당 함수를 사용하기 위한 포맷은 위와 같다.
- 두 시간/날짜 간 일수 혹은 날짜 차이
함수 설명 DATE_DIFF 두 시간/날짜 간 일수 차 TIME_DIFF 두 시간/날짜 간 시간 차 SELECT
OrderDate,
NOW(),
DATEDIFF(OrderDate, NOW())
FROM Orders;SELECT TIMEDIFF('2021-06-21 15:20:35', '2021-06-21 16:34:41');
- 해당 달의 마지막 날짜 구하기
함수 설명 LAST_DAY 해당 달의 마지막 날짜 SELECT
OrderDate,
LAST_DAY(OrderDate),
DAY(LAST_DAY(OrderDate)),
DATEDIFF(LAST_DAY(OrderDate),
OrderDate)
FROM Orders;반응형'DataBase > MySql' 카테고리의 다른 글
Mysql - 기타 함수들(조건문) if, ifnull (0) 2023.10.12 Mysql - 시간,날짜 관련 함수(2) (0) 2023.10.12 MySql - 숫자와 문자열을 다루는 함수들 (0) 2023.09.08 MySql - 각종연산자들 (0) 2023.09.07 MySql - Select의 기능 (0) 2023.09.07