날짜데이터로 값을 조회하는 방법을 배우다.
1. 날짜데이터 → 문자데이터
-- 날짜데이터로 조회하는 방법
-- TO_CHAR 을 활용한 방법
-- 문자데이터로 만들어서 비교 (편법)
SELECT *
FROM TB_PRD
WHERE TO_CHAR(REG_DT, 'YYYYMMDD') = '20230501'
OR TO_CHAR(REG_DT, 'YYYYMMDD') = '20230502';
출력하고싶은 것은 2023년 5월 1일 ~ 2023년 5월 2일 까지의 것들이다. 그것들의 REG_DT를 문자열로 형변환 한후 포매팅으로 YYYYMMDD로 연월일만 꺼내준다. 그 이유는 꺼낼 조건이 연월일만 있기 때문이다.
그것들의 연월일이 20230501 또는 20230502이면 조건에 충족한다.
2. 문자데이터 → 날짜데이터
-- 비교할 값을 날짜데이터로 만들어줌 (정석)
-- TO_DATE
SELECT *
FROM TB_PRD
WHERE REG_DT >= TO_DATE('20230501000000', 'YYYYMMDDHH24MISS')
AND REG_DT <= TO_DATE('20230502235959', 'YYYYMMDDHH24MISS');
날짜의 범위를 직접 문자열로 만들어서 그 문자열을 포매팅해서 날짜 데이터로 형변환하여 범위를 만들어서 사용한다.
쓰면서 BETWEEN을 사용해도 되나? 싶어서 사용해봤는데 오류가 뜬다.
'SQL-ORACLE > WHERE' 카테고리의 다른 글
[SQL] LIKE (0) | 2023.07.11 |
---|---|
[SQL] IN, BETWEEN (0) | 2023.07.11 |
[SQL] 부정연산 !, NOT (IS NULL, IS NOT NULL) (0) | 2023.07.11 |
[SQL] WHERE, AND, OR (0) | 2023.07.11 |