쿼리질문 입니다 0 5 1,351

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테이블 종료일자 입니다

by 마농 [2022.05.20 16:40:25]

조건은 다양하게 줄 수 있습니다.

컬럼 = 값 만 되는게 아닙니다.

컬럼이나 값 부분에 다양한 표현식이 가능합니다.

표현식에는 컬럼, 상수, 변수, 함수, 서브쿼리, 의사컬럼(rownum) 등등

질문의 쿼리는 테이블의 시작일, 종료일 컬럼 사이에 내가 조회하고자 하는 일자가 포함되는지를 찾는 조건.


by jsbj [2022.05.20 17:00:58]

왜 '20220101'로 넣어놨는지 그의도가 궁금해서요 .. 테스트성인지...


by 마농 [2022.05.20 17:06:27]

그냥 상수 값입니다. (조회 조건)

Where 등록일 = '20220101'

Where '20220101' = 등록일

같은 조건입니다. 순서가 바뀌어 생소한 모양이네요.


by 마농 [2022.05.20 17:11:33]
-- 1. 
 WHERE '20210101' BETWEEN a AND b
-- 2. 같은 의미.
 WHERE a <= '20220101'
   AND b >= '20220101'

 


by jsbj [2022.05.20 17:21:18]

감사합니다~~~~ 마농님~~~^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입