내 학습 여정의 71일!
Source: Dev.to
다가오는 수요일 로직 작업하기
오늘의 도전 과제는 논리와 SQL 날짜 함수가 결합된 재미있는 문제였습니다.
이름과 약속 날짜가 들어 있는 테이블을 만든 뒤, 현재 날짜를 기준으로 다음 수요일 이전에 예정된 모든 약속을 반환하는 쿼리를 작성합니다.
간단해 보이지만, 다음 수요일을 동적으로 계산하는 것이 핵심이었습니다.
테이블 정의
CREATE TABLE appointments (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
appointment_date DATE
);
샘플 데이터
INSERT INTO appointments (name, appointment_date) VALUES
('John', '2025-01-13'),
('Sarah', '2025-01-15'),
('Michael', '2025-01-10'),
('Anna', '2025-01-14');
다음 수요일 이전의 약속을 가져오는 쿼리
SELECT name, appointment_date
FROM appointments
WHERE appointment_date < (
CURRENT_DATE + ((3 - EXTRACT(DOW FROM CURRENT_DATE) + 7) % 7)
);
작동 원리
EXTRACT(DOW FROM CURRENT_DATE)는 현재 요일을 반환합니다 (0 = 일요일, 1 = 월요일, … 3 = 수요일, … 6 = 토요일).(3 - dow + 7) % 7은 다음 수요일(요일 3)까지 남은 일수를 계산합니다.- 이 오프셋을
CURRENT_DATE에 더하면 다가오는 수요일 날짜가 됩니다.
쿼리는 그 날짜 이전에 있는 모든 약속을 반환합니다.
이와 같은 실습은 SQL 기초를 다지고 동적인 날짜 로직을 다루는 방법을 배우기에 안성맞춤이며, 실제 데이터 작업에서 자주 사용하게 될 기술입니다. 하루하루, 도전마다 저는 SQL에 대한 자신감을 점점 더 키워가고 있습니다.
#SQL #DataEngineering #Database #LearningJourney #WomenInTech #CareerGrowth #DataDriven #RamyaAnalyticsJourney