연산자와 피연산자
연산자는 피연산자와 결합되어 특정 연산(기능)을 수행하여 새로운 결과를 얻는 데 사용된다.
피연산자는 연산의 대상이 되는 값이다
구성 요소 | 분류 | 설명 |
연산자 | 단항 연산자 | 한 개의 피연산자만을 필요로 하는 연산자. 부호 +, 부호 -, IS NULL, NOT 등 |
2항 연산자 | 두 개의 피연산자를 필요로 하는 연산자 +,-,*,/,**,||,;=,=,>,<,<>,!=,LIKE,IN,AND,OR 등 |
|
3항 연산자 | 세 개의 피연산자를 필요로 하는 연산자 BETWEEN |
|
피연산자 | 연산의 대상 변수, 상수, 리터럴, 함수의 실행결과 등 |
연산자 우선순위
※
연산자 | 연산 |
** | 지수 |
+, - | 양수(부호), 음수(부호) |
*, / | 곱셈, 나눗셈 |
+, -, || | 덧셈, 뺄셈, 문자열 연결 |
=, <, >, <=, >=, <>, !=, ^=, ~=, IS NULL, LIKE, BETWEEN, IN | 비교 |
NOT | 논리 부정 |
AND | 논리곱 |
OR | 논리합 |
:= | 할당(Assignment) |
연산자 기능
연산자 | 설명 | 예 |
|| | 두 개의 문자열을 연결한다, | 'John' || 'Smith' |
<>, !=, ~=, ^= | 두 개의 값이 다른지 검사한다. | ! <> 2, v_num1 != v_num2 |
IS NULL IS NOT NULL |
값이 NULL인지 검사 | v_name IS NULL v_name IS NOT NULL |
LIKE NOT LIKE |
왼쪽 값이 오른쪽 패턴과 일치하는지 검사한다. 와일드카드로 _(임의의 한 문자)와 %(임의의 0개 이상의 문자)를 사용할 수 있다. 오른쪽 패턴에 와일드카드를 사용하지 않으면 동일한 값인지를 검사하게 되어 연산자 =와 동일하게 기능한다. | v_name LIKE 'SCO__' : 이름이 SCO로 시작하는 다섯 글자인지 검사 v_name NOT NULL 'SCO%' : 이름이 SCO로 시작하지 않는지 검사 '한글' LIKE '__' : '한글'은 두 글자 v_name LIKE 'SCOTT': v_name = 'SCOTT'와 동일한 표현식 |
BETWEEN NOT IN BETWEEN |
왼쪽 값이 오른쪽 첫 번째 값과 오른쪽 두 번째 값 사이의 값인지 검사 a BETWEEN b AND c는 b <= a AND a <= c 와 같다. |
v_name BETWEEN '가길동' AND '홍길동' v_int BETWEEN 100 AND 999 v_hiredate NOT BETWEEN '2000-01-01' AND '2009-12-31' |
IN NOT IN |
왼쪽 값이 오른쪽의 목록 중의 하나인지 검사 | v_Int IN (1, 2, 3, 4, 5) v_FamilyName NOT IN('가', '나', '다', '라') |
= | 두 값이 동일한지를 비교하여 TRUE 또는 FALSE를 결정한다. 비교연산자 =와 할당연산자 :=를 혼동해선 안된다 |
IF v_BOOL = TRUE THEN v_BOOL := (v_NUM = 1); |
:= | 우측 표현식에 의해 계산된 값(r-value)을 왼쪽 변수(l-value)에 할당한다 | v_NUM := 10 * v_NUM + v_NUM; v_SQR := v_NUM**2; |
'DATABASE > SQL, PL-SQL' 카테고리의 다른 글
SQL - SELECT, INSERT, UPDATE 사용 (0) | 2021.01.25 |
---|---|
표현식 - 2 (0) | 2021.01.24 |
변수와 상수, 리터럴 (0) | 2021.01.20 |
앵커(%)를 사용한 데이터 타입 지정 (0) | 2021.01.19 |
데이터 타입 상세 소개 - 2 (0) | 2021.01.19 |
댓글