ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [My SQL] 시간 연산자 , 날짜 연산자
    알고리즘/My SQL 2023. 2. 10. 15:08

    날짜 관련 함수들

     

    현재 날짜 

    CURRENT_DATE, CURDATE 현재 날짜 반환
    CURRENT_TIME, CURTIME 현재 시간 반환
    CURRENT_TIMESTAMP, NOW 현재 시간과 날짜 반환

    날짜 생성

    DATE 문자열에 따라 날짜 생성
    TIME 문자열에 따라 시간 생성
    YEAR 주어진 DATETIME값의 년도 반환
    MONTHNAME 주어진 DATETIME값의 월(영문) 반환
    MONTH 주어진 DATETIME값의 월 반환
    WEEKDAY 주어진 DATETIME값의 요일값 반환(월요일: 0)
    DAYNAME 주어진 DATETIME값의 요일명 반환
    DAYOFMONTHDAY 주어진 DATETIME값의 날짜(일) 반환
    SELECT car_id, if(sum(if('2022-10-16' between start_date and end_date, 1, 0))>0, 
    '대여중', '대여 가능') as AVAILABILITY
    
    from CAR_RENTAL_COMPANY_RENTAL_HISTORY 
    group by car_id
    order by car_id desc

    날짜 연산

    ADDDATE, DATE_ADD 시간/날짜 더하기
    SUBDATE, DATE_SUB 시간/날짜 빼기

    날짜 차이

    DATE_DIFF 두 시간/날짜 간 일수차(+1하기)
    SELECT HISTORY_ID, CAR_ID, 
    DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, 
    DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE,
    
    IF(DATEDIFF(END_DATE, START_DATE) + 1 >= 30, '장기 대여','단기 대여') AS RENT_TYPE
    
    
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'
    ORDER BY HISTORY_ID DESC;
    -- 코드를 입력하세요
    SELECT CAR_ID	,ROUND(
        AVG(DATEDIFF(END_DATE,START_DATE)+1) ,1) AS AVERAGE_DURATION
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    
    GROUP BY CAR_ID HAVING  AVG(DATEDIFF(END_DATE,START_DATE)+1) >=7
    ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
    LAST_DAY 해당 달의 마지막 날짜

     

    문자열에서 DATE로 변환

    STR _ TO _ DATE(S, F) S를 F형식으로 해석하여 시간/날짜 생성

    시간 관련 함수들

     

    시간 연산자

     

    CURRENT_TIME, CURTIME 현재 시간 반환
    TIME 문자열에 따라 시간 생성
     

     

    HOUR 주어진 DATETIME의 시 반환
    MINUTE 주어진 DATETIME의 분 반환
    SECOND 주어진 DATETIME의 초 반환
    SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
    FROM ANIMAL_OUTS
    WHERE HOUR(DATETIME) BETWEEN 9 AND 19
    GROUP BY HOUR(DATETIME)
    ORDER BY HOUR(DATETIME)
    TIME_DIFF 두 시간/날짜 간 시간차
    %T hh:mm:ss
    %r hh:mm:ss AM/PM
    %H, %k 시 (~23)
    %h, %l 시 (~12)
    %i
    %S, %s
    %p AM/PM
Designed by Tistory.