- 비교 연산자
- AND,OR,IN(),NOT 연산자
- 범위 연산자
- LIKE 연산자
- 문자열 결합연산자
- IS NULL, IS NOT NULL
비교 연산자
비교연산자의 종류
뜻 | 기호 |
같다 | = |
같지않다 | !=, <>, ^= |
크다,작다 | >,< |
같거나 크다. 같거나 작다 | >=,<= |
※ NULL은 존재하지 않는 것이므로 비교대상이 될 수가 없어서 비교연산을 할 수가 없다.
그래서 비교연산을 하려면 NVL()함수, NVL2()함수를 사용하여 처리한다.
AND,OR,IN(),NOT 연산자
조건 AND 조건
조건이 둘다 참 이라면 참
조건 OR 조건
조건이 둘 중에 하나만 참 이어도 참
IN(x,y)
IN 앞에 있는것이 x또는 y라면 참.
OR 조건으로 쓸 것이 많다면 IN을 사용하여 줄일 수 있다.
NOT
NOT 연산자 뒤에 있는것의 반대의미.
범위 연산자
BETWEEN A AND B
A 부터 B 까지의 범위에 해당하는 조건
LIKE 연산자
같은 문자열을 찾는 것이 아니라 포함되어지는 문자를 찾을때는 like 연산자를 쓴다.
like 연산자는 %나 _같은 Wild character와 같이 쓰여진다.
%는 글자수와는 관계없이 글자가 있든지 글자가 없든지 관계없다라는 말이다
시작하는 문자열을 찾을 때
-'%문자열'
끝나는 문자열을 찾을 때
-'문자열%'
포함되어지는 문자열
-'%문자열%'
_는반드시 아무글자 1개만을 뜻하는 것이다.
문자열과 그 문자열 뒤에 아무글자 1개를 찾을 때
'문자열_'
문자열과 그 문자열 앞에 아무글자 1개를 찾을 때
'_문자열'
문자열과 그 문자열 뒤에 아무글자 2개를 찾을 때
'문자열__'
like 연산자와 함께 사용되어지는 % 와 _ 인 wild character 의 기능을 escape(탈출) 시키기
- escape 문자를 지정한 뒤에(일반적으로 \ 를 많이 쓴다.)
- Wild character 앞에 escape 문자를 쓴고, 뒤에 escape '지정한 문자' 라고 쓴다.
<예제코드>
select *
from tbl_watch
where bigo like '%99.99%%';
-- escape 문자를 지정하지 않았으므로, 99.99라는 tbl_watch 테이블에서 bigo에 99.99가 들어있는 모든 컬럼을 조회한다.
select *
from tbl_watch
where bigo like '%99.99\%%' escape '\';
-- escape 문자로 '\' 을 주었으므로 '\' 다음에 나오는 wild character(% 또는 _) 문자 1개만 wild character 기능에서 탈출시켜버린다.
select *
from tbl_watch
where bigo like '%99.992%%' escape '2';
-- escape 문자로 '2' 을 주었으므로 '2' 다음에 나오는 wild character(% 또는 _) 문자 1개만 wild character 기능에서 탈출시켜버린다.
select *
from tbl_watch
where bigo like '%99.99a%%' escape 'a';
-- escape 문자로 'a' 을 주었으므로 'a' 다음에 나오는 wild character(% 또는 _) 문자 1개만 wild character 기능에서 탈출시켜버린다.
문자열 결합연산자
문자열 결합연산자는 ||를 쓴다
IS NULL, IS NOT NULL
NULL은 비교연산을 할 수 없으므로, IS NULL 또는 IS NOT NULL 로 조건을 줄 수 있다.
NULL을 비교하려면 NVL 함수를 써서 비교하는 방법도 있다.
'개발 > Oracle' 카테고리의 다른 글
[Oracle] 오라클 서브쿼리(Sub Query) (0) | 2022.07.20 |
---|---|
[Oracle] 오라클 그룹 함수(집계 함수) (0) | 2022.07.20 |
[Oracle] 오라클 View(뷰) (0) | 2022.07.19 |
[Oracle] 오라클 문자열,숫자,날짜,기타 함수 총정리 (0) | 2022.07.18 |
[Oracle] 오라클 기본과 데이터 형식 (0) | 2022.07.18 |
개발을 하며 만났던 문제들과 해결 과정, 공부한 내용 등을 기록합니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!