본문 바로가기
DataBase

[postgreSQL][데이터 필터링]BETWEEN 연산자

by 바까 2021. 9. 13.
반응형
--5)BETWEEN연산자
--특정 집합에서 어떠한 칼럼의 값이 특정 범위안에 들어가는 집합을 출력하는 연산자.
--(1)BETWEEN 연산자 문법
--SELECT *
--FROM TABLE_NAME
--WHERE COLUMN_NAME				--CULUMN_NAME의 컬럼값이 VALUE_A와 VALUE_B 사이에 있는 집합을 출력
--BETWEEN VALUE_A AND BALUE_B;	--즉, CULUMN_NAME은 VALUE_A보다 크거나 같고 VALUE_B보다는 작거나 같다.
--  = COLUMN_NAME >= VALUE_A AND COLUMN_NAME <= VALUE_B
	
--SELECT *
--FROM TABLE_NAME
--WHERE COLUMN_NAME				--CULUMN_NAME의 컬럼값이 VALUE_A와 VALUE_B 사이에 있지 않은 집합을 출력
--NOT BETWEEN VALUE_A AND BALUE_B;	--즉, CULUMN_NAME은 VALUE_A보다 작거나 혹은 VALUE_B보다 크다
--  = COLUMN_NAME < VALUE_A OR COLUMN_NAME > VALUE_B

select CUSTOMER_ID, payment_id, AMOUNT
from payment p 
where amount between 8 and 9;

select CUSTOMER_ID, payment_id, AMOUNT
from payment p 
where amount >= 8 and amount <= 9;

select CUSTOMER_ID, payment_id, AMOUNT
from payment p 
where amount not between 8 and 9;	

select CUSTOMER_ID, payment_id, AMOUNT
from payment p 
where amount < 8 or amount > 9;
	
--일자비교
--CAST(COLUMN_DATE AS DATE) == TO_CHAT(COLUMN_DATE,'yyyy-mm-dd')와 같은여갛ㄹ

select customer_id, payment_id, amount, payment_date,cast(payment_date as date) --<-시분초가 00:00:00으로 초기화
from payment p 
where cast(payment_date as date)
between '2007-02-07' and '2007-02-15';--payment_date가 2007년 2월 7일 부터 2007년 2월 15일 데이터를 추출

--위 결과와 동일함
select customer_id, payment_id, amount, payment_date,to_char(payment_date, 'yyyy-mm-dd')
from payment p 
where to_char(payment_date, 'yyyy-mm-dd')
between '2007-02-07' and '2007-02-15';
반응형

댓글