2020. 5. 23. 22:26ㆍDataBase/MySQL
■ 날짜 함수
1. NOW()
※ 현재 날짜시간 리턴
(동일한 쿼리에서 함수가 여러번 호출되더라도 동일한 값을 반환)
설명) 형식 : 2020-05-23 21:08:56
SELECT NOW(), SLEEP(2), NOW() FROM DUAL;
RESULT :
2020-05-23 21:19:37
0
2020-05-23 21:19:37
2. SYSDATE()
※ 현재 날짜시간 리턴
(함수가 호출될때 시점으로 값을 반환)
SELECT SYSDATE(), SLEEP(2), SYSDATE() FROM DUAL;
RESULT :
2020-05-23 21:21:08
0
2020-05-23 21:21:10
3. CURDATE()
※ 정의
1) CURDATE() 함수만 호출시 YYYY-MM-DD로 현재 날짜 반환
2) CURDATE() 가 숫자 혹은 문자열과 함께 사용되면 숫자로 계산된 결과를 반환
1) SELECT CURDATE() FROM DUAL;
RESULT
: 2020-05-23
2) SELECT CURDATE() + 30 FROM DUAL;
RESULT
: 2020523 + 30 = 2020553
4. CURTIME()
1) CURTIME() 함수만 호출시 HH:MM:SS 로 현재 시간 반환
2) CURTIME() 가 숫자 혹은 문자열과 함께 사용되면 숫자로 계산된 결과를 반환
1) SELECT CURTIME() FROM DUAL;
RESULT
: 09:40:47
2) SELECT CURTIME() + 500 FROM DUAL;
RESULT (현재시간 : 09:40:56)
: 94556
5. YEAR()
※ 해당 날짜의 '년도'를 리턴
SELECT YEAR('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 2020
6. MONTH()
※ 해당 날짜의 '월'을 리턴
SELECT MONTH('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 5
7. DAY()
※ 해당 날짜의 '일'을 리턴
SELECT DAY('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 25
8. HOUR() or MINUTE() or SECOND()
1) 해당 날짜의 '시간'을 리턴
2) 해당 날짜의 '분'을 리턴
3) 해당 날짜의 '초'를 리턴
1) SELECT HOUR('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 9
2) SELECT MINUTE('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 50
3) SELECT SECOND('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 41
9. DAYOFYEAR()
※ 해당 날짜의 해에서 몇 번째 날인지를 리턴. (리턴값 1~365)
SELECT DAYOFYEAR('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 146
10. DAYOFMONTH()
※ 해당 날짜의 달에서 몇 번째 날인지를 리턴. (리턴값 1~31)
SELECT DAYOFMONTH('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 25
11. DAYOFWEEK()
※ 해당 날짜가 한 주의 무슨요일인지를 숫자로 리턴. (리턴값 : 일요일 = 1, 월요일 = 2, ... 토요일 = 7)
SELECT DAYOFWEEK('2020-05-25 09:50:41.0') FROM DUAL;
RESULT (해당 날짜 요일은 월요일)
: 2
12. WEEKDAY()
※ 해당 날짜가 한 주의 무슨요일인지를 숫자로 리턴. (리턴값 : 월요일 = 0, 화요일 = 1, ... ,일요일 = 6)
SELECT WEEKDAY('2020-05-25 09:50:41.0') FROM DUAL;
RESULT (해당 날짜 요일은 월요일)
: 0
13. DAYNAME()
※ 해당 날짜가 한 주의 무슨요일인지를 영어로 리턴.
SELECT DAYNAME('2020-05-25 09:50:41.0') FROM DUAL;
RESULT (해당 날짜 요일은 월요일)
: Monday
14. MONTHNAME()
※ 해당 날짜가 몇월인지 영어로 리턴
SELECT MONTHNAME('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: May
15. QUARTER()
※ 해당 날짜가 몇분기인지 숫자로 리턴(리턴값 : 1~4)
SELECT QUARTER('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 2
16. WEEK(DATE, FIRST)
1) 한주의 시작을 일요일(FIRST의 디폴트는 0)로 계산하여 해당 날짜가 몇번째 주인지 반환
2) 한주의 시작을 일요일(FIRST = 0)로 계산하여 해당 날짜가 몇번째 주인지 반환
3) 한주의 시작을 월요일(FIRST = 1)로 계산하여 해당 날짜가 몇번째 주인지 반환
1) SELECT WEEK('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 21
2) SELECT WEEK('2020-05-25 09:50:41.0', 0) FROM DUAL;
RESULT
: 21
3) SELECT WEEK('2020-05-25 09:50:41.0', 1) FROM DUAL;
RESULT
: 22
17. LAST_DAY()
※해당 날짜의 월의 마지막 날짜를 반환 (YYYY-MM-DD)
SELECT LAST_DAY('2020-05-25 09:50:41.0') FROM DUAL;
RESULT
: 2020-05-31
'DataBase > MySQL' 카테고리의 다른 글
[DB] MySQL 날짜 더하기/빼기 함수 (0) | 2020.05.25 |
---|---|
[DB] MySQL 두 날짜 차이 계산 함수(DATEDIFF() / TIMESTAMPDIFF()) (0) | 2020.05.25 |
[DB] MySQL 함수정리 (0) | 2020.05.23 |
[DB] MySQL 한글 인코딩 설정 (0) | 2020.05.22 |
[DB] MySQL 기본 문법 정리 (0) | 2020.05.22 |