-
[MySQL] DATE 관련MySQL 2024. 9. 16. 20:40
[DATE_FORMAT : 날짜 포맷팅]
// 2024-10-15 10:15:00 // 위에꺼가 2024-10-15 이렇게 출력됨 SELECT ANIMAL_ID, NAME, DATE_FORMAT(INTAKE_DATE,"%Y-%m-%d") AS '입양 날짜' FROM ANIMAL_INS ORDER BY ANIMAL_ID
보통 많이 쓰는게 %Y %m %d
%y 하면 끝년도 (21, 22 ,24, 25)
%M 하면 달을 글자로 (January, August)
%c 하면 달에서 0 빼줌 (1, 2, 4, 10)
[DATEDIFF : 날짜 차이]
두 DATE 간의 일수 차이 계산
DATEDIFF(느린날짜, 빠른날짜)
느린날짜 - 빠른날짜를 계산해줌SELECT ao.ANIMAL_ID, ao.NAME FROM ANIMAL_OUTS AS ao JOIN ANIMAL_INS AS ai ON ao.ANIMAL_ID = ai.ANIMAL_ID ORDER BY DATEDIFF(ao.DATETIME, ai.DATETIME) DESC LIMIT 2;
https://school.programmers.co.kr/learn/courses/30/lessons/59411프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[DATETIME을 DATE로 바꿔서 비교]
날짜나 시간이 varchar로 저장되어있으면 = '2022-04-13' 처럼 할 수 있는데
보통 date 형식으로 시간분초까지 저장되어있는 경우이면 저렇게 하면 에러남
따라서 무조건 DATE()로 바꿔주고 = '2022-04-13' 비교연산 들어가자
// column_name은 DATETIME, DATE, TIMESTAMP 타입 // 반환값은 DATE 형임! // 하지만 출력될 때는 YYYY-MM-DD 형식의 문자열임! SELECT DATE(column_name)
SELECT DATE('2022-06-11 12:34:56') = '2022-06-11' MONTH('2022-06-11 12:34:56') = '6' DAY('2022-06-11 12:34:56') = '11'
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = 'DONE' THEN '거래완료' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '판매중' END AS STATUS FROM USED_GOODS_BOARD WHERE DATE(CREATED_DATE) = '2022-10-5' ORDER BY BOARD_ID DESC
'MySQL' 카테고리의 다른 글
[MySQL] WHERE IN 서브쿼리 (0) 2024.09.17 [MySQL] 꿀팁 몇가지 (0) 2024.09.16 [MySQL] STRING 관련 (0) 2024.09.16 [MySQL] 쿼리 실행 순서 (0) 2024.09.16 [MySQL] GROUP BY (0) 2024.08.23