데이터 분석/SQL

[SQL 문법] BETWEEN

참치바나나 2020. 10. 31. 10:20

특정 범위의 값을 뽑기

'payment' 테이블에서 amount 값이 8과 9 사이인 값 뽑기

SELECT
	p.customer_id ,
	p.payment_id ,
	p.amount
FROM
	payment p
WHERE
	p.amount BETWEEN 8 AND 9;

결과는 간단하다

반대로 8과 9 사이에 없는 값 뽑기 - NOT

SELECT
	p.customer_id ,
	p.payment_id ,
	p.amount
FROM
	payment p
WHERE
	p.amount NOT BETWEEN 8 AND 9;

결과도 단순~

일자 비교하기 - 실전

BETWEEN은 일자 비교에 많이 쓰임. 하지만 일자에서 timestamp 형은 비교에 제대로 안됨. 따라서 형을 바꿔야하는데,

SELECT
	p.customer_id ,
	p.payment_id ,
	p.amount ,
	p.payment_date
FROM
	payment p
WHERE
	CAST(p.payment_date AS date) 
BETWEEN '2007-02-07' AND '2007-02-15';

CAST(P.PAYMENT_DATE AS DATE) 하는 것으로 쉽게 비교 가능.

같은 코드로 문자로 변환이 있음

SELECT
	p.customer_id ,
	p.payment_id ,
	p.amount ,
	p.payment_date
FROM
	payment p
WHERE
	to_char(p.payment_date , 'yyyy-mm-dd') 
BETWEEN '2007-02-07' AND '2007-02-15';

'데이터 분석 > SQL' 카테고리의 다른 글

[SQL 문법] IS NULL  (0) 2020.10.31
[SQL 문법] LIKE  (0) 2020.10.31
[SQL 문법] IN  (0) 2020.10.31
[SQL 문법] FETCH  (0) 2020.10.30
[SQL 문법] LIMIT  (0) 2020.10.30