DATE_FORMAT: H와 h 차이
(15:30:00) 시간 기준
| %H | 24시간 형식 | 00~23 | 15 |
| %h | 12시간 형식 | 01~12 | 03 |
| %p | AM/PM 표시 | AM/PM | PM |
| %H + 0 | 24시간 형식, 0 제거 | 0~23 | 15 |
| %h + 0 | 12시간 형식, 0 제거 | 1~12 | 3 |
✅ 한 자리 숫자의 0 제거하는 방법
0을 더함으로 써 정수로 바꿔줌 이 방법 아니면 CAST를 통해 바꿔도 됨
원래 03 형태를 -> 3으로 바꿔준다
SELECT DATE_FORMAT(DATETIME, "%H") + 0 AS HOUR FROM ANIMAL_OUTS;
SELECT CAST(DATE_FORMAT(DATETIME, "%H") AS UNSIGNED) AS HOUR FROM ANIMAL_OUTS;
QUARTER()
지정한 날짜의 월 정보를 기반으로 해당 날짜가 속한 분기를 계산하여 반환 , 정수값을 반환한다.
SELECT QUARTER('2021-02-15') AS QUARTER; -- 결과: 1
SELECT QUARTER('2021-05-15') AS QUARTER; -- 결과: 2
SELECT QUARTER('2021-08-15') AS QUARTER; -- 결과: 3
SELECT QUARTER('2021-11-15') AS QUARTER; -- 결과: 4
월 범위반환 값 (분기)설명
| 1월 ~ 3월 | 1 | 1분기 (Q1): 1월, 2월, 3월 |
| 4월 ~ 6월 | 2 | 2분기 (Q2): 4월, 5월, 6월 |
| 7월 ~ 9월 | 3 | 3분기 (Q3): 7월, 8월, 9월 |
| 10월 ~ 12월 | 4 | 4분기 (Q4): 10월, 11월, 12월 |
DATEDIFF(날짜1, 날짜2)
날짜1- 날짜2
HAVING
WHERE 절에서 COUNT(*) > 3 조건을 사용할 수 없기 때문
집계 함수(COUNT(*), SUM(), AVG(), etc.)를 이용한 필터링은 WHERE이 아니라 HAVING 절을 사용
COALESCE
ifnull과 유사
SELECT COALESCE(first_name, last_name, email) AS name
FROM employees;
first_name이 널일 경우 last name -> last name도 null 일경우 , Email을 반환한다.
만약 first_name이 널이 아닐 경우 first_name을 반환한다.
'CodingTest' 카테고리의 다른 글
| [PROGRAMERS / JavaScript] 베스트앨범 (1) | 2025.02.12 |
|---|---|
| [PROGRAMERS / JavaScript] 피로도 (0) | 2025.02.12 |
| [PROGRAMERS / JavaScript] 주식가격 (0) | 2025.02.10 |
| [PROGRAMERS / JavaScript] 가장 큰 수 (0) | 2025.02.10 |
| [BOJ / JavaScript]1697 숨바꼭질 (0) | 2025.02.05 |