now is better than never
[LEVEL 2][String, Date] 자동차 평균 대여 기간 구하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/157342
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
SELECT car_id
, round(avg(DATEDIFF(end_date, start_date)+1), 1) AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by car_id
having average_duration >= 7
order by 2 desc, 1 desc
- 가 아니라 date 함수 써야 됨!
날짜 관련 함수
1. 기준 날짜에서 더하기
DATE_ADD(date, INTERVAL value addunit)
DATE_SUB(date, INTERVAL value addunit)
- INTERVAL
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
- ADD INTERVAL -
= SUB
2. 날짜 연산
# date1 - date2
DATEDIFF(date1, date2)
TIMEDIFF(date1, date2)
- datediff : 날짜 계산
- timediff : 시간 계산
3. 날짜 출력
DATE_FORMAT(date, format)
%a | Abbreviated weekday name (Sun to Sat) |
%b | Abbreviated month name (Jan to Dec) |
%c | Numeric month name (0 to 12) |
%D | Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...) |
%d | Day of the month as a numeric value (01 to 31) |
%e | Day of the month as a numeric value (0 to 31) |
%f | Microseconds (000000 to 999999) |
%H | Hour (00 to 23) |
%h | Hour (00 to 12) |
%I | Hour (00 to 12) |
%i | Minutes (00 to 59) |
%j | Day of the year (001 to 366) |
%k | Hour (0 to 23) |
%l | Hour (1 to 12) |
%M | Month name in full (January to December) |
%m | Month name as a numeric value (00 to 12) |
%p | AM or PM |
%r | Time in 12 hour AM or PM format (hh:mm:ss AM/PM) |
%S | Seconds (00 to 59) |
%s | Seconds (00 to 59) |
%T | Time in 24 hour format (hh:mm:ss) |
%U | Week where Sunday is the first day of the week (00 to 53) |
%u | Week where Monday is the first day of the week (00 to 53) |
%V | Week where Sunday is the first day of the week (01 to 53). Used with %X |
%v | Week where Monday is the first day of the week (01 to 53). Used with %x |
%W | Weekday name in full (Sunday to Saturday) |
%w | Day of the week where Sunday=0 and Saturday=6 |
%X | Year for the week where Sunday is the first day of the week. Used with %V |
%x | Year for the week where Monday is the first day of the week. Used with %v |
%Y | Year as a numeric, 4-digit value (2022) |
%y | Year as a numeric, 2-digit value (22) |
출처: https://www.w3schools.com/sql/func_mysql_date_format.asp
'프로그래머스 > SQL' 카테고리의 다른 글
[프로그래머스][Level 4] 자동차 대여 기록 별 대여 금액 구하기 (0) | 2023.10.19 |
---|---|
[LEVEL 4][JOIN] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.05.15 |
[Level 4][SELECT] 서울에 위치한 식당 목록 출력하기 (0) | 2023.01.04 |
[Level 2][SELECT] 3월에 태어난 여성 회원 목록 출력하기 (SQL 날짜 월 출력) (0) | 2023.01.03 |
[Level 4][JOIN] 보호소에서 중성화한 동물 (0) | 2023.01.03 |