본문 바로가기
MYSQL/프로그래머스

한 해에 잡은 물고기 수 구하기

by 수스리 2025. 2. 4.

https://school.programmers.co.kr/learn/courses/30/lessons/298516

더보기
더보기

SELECT COUNT(*) AS FISH_COUNT
FROM FISH_INFO
WHERE YEAR(TIME) = '2021'

더보기
더보기

SELECT COUNT(*) AS FISH_COUNT
FROM FISH_INFO
WHERE EXTRACT(YEAR FROM TIME) = '2021'

이 문제는 날짜 시간 함수를 쓰는 문제다. 나는 YEAR와 EXTRACT 함수를 썼다. 

YEAR() 함수와 EXTRACT 함수 정리

YEAR(컬럼)

YEAR() , MONTH() , DAY() , HOUR(), MINUTE(), SECOND() 이렇게 비슷한 함수가 있다. 컬럼의 연도, 월, 일, 시, 분, 초를 반환한다. 다만 이 함수들은 표준 SQL에 들어있는 함수가 아니다. 따라서 일부 SQL에서는 적용 안 될 수 있다. 

SELECT YEAR(컬럼)
FROM 테이블명

EXTRACT(field FROM source)

이 함수도 비슷하다.

field : 추출할 날짜의 부분 (YEAR, MONTH, DAY, HOUR, MINUTE 등)

source : 날짜 값이 저장된 컬럼 또는 날짜 리터럴

SELECT EXTRACT(YEAR FROM field) AS year
FROM 테이블 명

시간 날짜 함수는 이거 말고도 많다. 일단 오늘은 시간 없으니 여기까지 저장한다.