[ DB / Oracle ] 데이터 조회(SELECT)에 조건(WHERE) 추가(2)
2024. 1. 16. 19:54ㆍ· LANGUAGE/└ Database
환경 : DBeaver
[날짜 조건]
(참고) 이 글에서 사용한 테이블 정보 입니다.
CREATE TABLE vehicle (
vehicle_id NUMBER PRIMARY KEY, --차량 고유 숫자
model_name VARCHAR2(30) NOT NULL, --차량 모델
vehicle_type VARCHAR2(15) CHECK(vehicle_type IN ('Sedan', 'SUV', 'Truck', 'Motorcycle')),
price NUMBER, --차량 종류
manufacture_date DATE, --차량 제조일자
registration_expire_date DATE --차량 등록 만료일
);
INSERT INTO vehicle VALUES(1, 'Toyota Camry', 'Sedan', 25000, '2021-01-15', '2023-01-17');
INSERT INTO vehicle VALUES(2, 'Honda CR-V', 'SUV', 30000, '2020-12-10', '2023-12-10');
INSERT INTO vehicle VALUES(3, 'Ford F-150', 'Truck', 40000, '2020-11-05', '2020-12-05');
INSERT INTO vehicle VALUES(4, 'Harley-Davidson Sportster', 'Motorcycle', 12000, '2022-02-20', '2023-02-20');
INSERT INTO vehicle VALUES(5, 'Tesla Model Y', 'SUV', 50000, '2021-03-30', '2024-03-30');
INSERT INTO vehicle VALUES(6, 'Chevrolet Silverado', 'Truck', 35000, '2020-08-15', '2023-08-15');
INSERT INTO vehicle VALUES(7, 'Yamaha MT-07', 'Motorcycle', 8000, '2021-05-01', '2023-02-01');
INSERT INTO vehicle VALUES(8, 'Nissan Altima', 'Sedan', 23000, '2020-07-10', '2023-07-15');
INSERT INTO vehicle VALUES(9, 'Ducati Panigale V4', 'Motorcycle', 25000, '2022-04-05', '2024-04-05');
INSERT INTO vehicle VALUES(10, 'Jeep Wrangler', 'SUV', 35000, '2020-10-01', '2023-11-31');
SELECT * FROM vehicle;
날짜 데이터에서 원하는 부분만 출력하고 싶으면 EXTRACT() 함수를 사용하면 됩니다.
EXTRACT( { YEAR
| MONTH
| DAY
| HOUR
| MINUTE
| SECOND
| TIMEZONE_HOUR
| TIMEZONE_MINUTE
| TIMEZONE_REGION
| TIMEZONE_ABBR
}
FROM { expr }
)
사용 예제를 살펴 보겠습니다.
[ 2020년에 제조된 차량 출력 ]
SELECT * FROM vehicle WHERE EXTRACT(YEAR FROM manufacture_date) = 2020;
SELECT * FROM vehicle WHERE to_char(manufacture_date, 'YYYY') = '2020';
(+) 연도를 출력할 것이기 때문에 YEAR, 그리고 어디를 기준으로 할건지 해당 컬럼명 출력
(+) 문자열로 변경하여 연도 형태로 출력할 수도 있다.
SELECT * FROM vehicle WHERE
manufacture_date >= TO_DATE('2020-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND
manufacture_date <= TO_DATE('2020-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS');
SELECT * FROM vehicle WHERE
manufacture_date BETWEEN
TO_DATE('2020-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND
TO_DATE('2020-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS');
(+) TO_DATE()를 활용하여 출력하는 방법이다.
개인 공부 기록용 입니다:)
728x90
'· LANGUAGE > └ Database' 카테고리의 다른 글
[ DB / Oracle ] 수정(Update), Auto-Commit 해제 방법 (0) | 2024.01.19 |
---|---|
[ DB / Oracle ] 정렬 (ORDER BY) (0) | 2024.01.17 |
[ DB / Oracle ] 데이터 조회(SELECT)에 조건(WHERE) 추가 (2) | 2024.01.15 |
[ DB / Oracle ] 데이터 조회 (SELECT) (1) | 2024.01.14 |
[ DB / Oracle ] sql 실습 (1) | 2024.01.13 |