연산자와 피연산자

    연산자는 피연산자와 결합되어 특정 연산(기능)을 수행하여 새로운 결과를 얻는 데 사용된다.

    피연산자는 연산의 대상이 되는 값이다

    구성 요소 분류 설명
    연산자 단항 연산자 한 개의 피연산자만을 필요로 하는 연산자. 부호 +, 부호 -, 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

    댓글