by jsbj [Oracle 기초] [2022.05.20 16:19:47]
Where 컬럼 between A and B
로 알고 있는데
where '20220101' between to_char(컬럼,'YYYYMMDD') and to_char(컬럼,'YYYYMMDD')
여기서 '20220101' 로 표기하는건 무슨 의미 인지 궁금합니다
아참고로 A는 a테이블 시작일자 B는 b테이블 종료일자 입니다
조건은 다양하게 줄 수 있습니다.
컬럼 = 값 만 되는게 아닙니다.
컬럼이나 값 부분에 다양한 표현식이 가능합니다.
표현식에는 컬럼, 상수, 변수, 함수, 서브쿼리, 의사컬럼(rownum) 등등
질문의 쿼리는 테이블의 시작일, 종료일 컬럼 사이에 내가 조회하고자 하는 일자가 포함되는지를 찾는 조건.
왜 '20220101'로 넣어놨는지 그의도가 궁금해서요 .. 테스트성인지...
그냥 상수 값입니다. (조회 조건)
Where 등록일 = '20220101'
Where '20220101' = 등록일
같은 조건입니다. 순서가 바뀌어 생소한 모양이네요.
-- 1. WHERE '20210101' BETWEEN a AND b -- 2. 같은 의미. WHERE a <= '20220101' AND b >= '20220101'
감사합니다~~~~ 마농님~~~^^