MSSQL BETWEEN 범위 검색하기

범위 검색하기

MSSQL에서 범위 검색하는 법에 대해 포스팅하겠습니다.

데이터를 조회하면서 어디에서부터 어디까지 이런 식으로 범위의 데이터를 출력할 때 가 있습니다.

이럴 때 BETWEEN 문을 사용하여 간편하게 조회할 수 있습니다.

 

기본문법

SELECT * FROM [TABLE] WHERE [COLUMN1] BETWEEN [A] AND [B]
/*
    [TABLE] 에서 [COLUMN1]의 값이 [A] 이상, [B] 이하인 데이터가 조회됩니다.
*/
💡BTWEEN 문에 앞에 오는 값(A)이 무조건 뒤에 오는 값(B) 이하여야 합니다.

 

문자열 범위검색

기본문법에서 비교값[A], [B]의 이상, 이하 데이터가 조회된다고 하였기에

값의 크기가 명확한 숫자만 의미하는 것이 아니고 문자열 또한 범위검색 가능합니다.

SELECT *
  FROM [TABLE]
 WHERE [NAME] BETWEEN '가가가' AND '라라라'
 /*
     [NAME]의 값이 '가가가' 이상이고 '라라라' 이하인 데이터만 조회됩니다.
     여기서 이상, 이하의 값의 기준은 
     문자를 아마도 아스키코드로 변경비교하는 것으로 알고있습니다.
     
     위쿼리에서 '김구라', '나고리' 등 데이터는 조회되지만
     '김구마', '마그마' 등의 데이터는 조회되지 않습니다.
     (대충 감이 오시죠?)
 */

 

날짜 범위검색

날짜 범위를 BETWWEN문에 넣어서 날짜범위도 검색할 수 있습니다.

SELECT *
  FROM [TABLE]
 WHERE [DATE] BETWEEN '20/10/2023' AND '30/10/2023'
 /*
     [TABLE]에서 [DATE]칼럼의 값이 2023.10.20. ~ 2023.10.30 사이인 데이터만 조회됩니다.
 */

 

NOT BETWEEN (범위 밖 검색)

NOT BETWEEN 문을 통해 범위에 해당하지 않는 데이터를 조회할 수 있습니다.

SELECT *
  FROM [TABLE]
 WHERE [COLUMN1] NOT BETWEEN 100 AND 200
/*
    [TABLE]에서 [COLUMN1]의 값이 100~200 사이가 아닌 데이터만 조회합니다.
*/