연산자와 피연산자
연산자는 피연산자와 결합되어 특정 연산(기능)을 수행하여 새로운 결과를 얻는 데 사용된다.
피연산자는 연산의 대상이 되는 값이다
| 구성 요소 | 분류 | 설명 |
| 연산자 | 단항 연산자 | 한 개의 피연산자만을 필요로 하는 연산자. 부호 +, 부호 -, 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 |
댓글