연산자 종류

 

- 대입 연산자

      변수   :=    값

 

- 산술 연산자

      ** : 지수연산자. 10**5 = 10*10*10*10*10

      + - * / : 산술계산

 

- 비교 연산자 : 반환값은 True / False.

      =  : 대등 연산자

     <>, !=, ~=  : 부등 연산자

     <, >, <=, >=  : 범위 비교

     LIKE  : 패턴일치 연산자  (log% : log로 시작하는 모든 것.  log___ : log로 시작하고 log 뒤에가 3자리인 것)

     BETWEEN a AND b : 지정한 범위(a~b) 사이

     IN  : 값이 목록내에 있는지 

     IS NULL  : 값이 null인지 조사

 

 

 

[예제1] LIKE 연산자를 사용한 함수  - 함수이기 때문에 RETURN 값을 지정하여야 한다.

********************************************************************************************************************

CREATE OR REPLACE FUNCTION mobile_phone (phone_number IN VARCHAR2)

RETURN VARCHAR2 AS

BEGIN
        IF phone_number LIKE '___-%-____' THEN

                IF SUBSTR(phone_number,1,3) = '011' THEN
                        RETURN 'SK Telecom 011';

                ELSE IF SUBSTR(phone_number,1,3) = '016' THEN
                        RETURN 'KTF 016';

                     ELSE
                        RETURN 'ETC...';

                     END IF;
                END IF;
        END IF;
END;
/
********************************************************************************************************************

 

SQL> set serveroutput on

 

SQL> select * from dba_objects where object_name like 'MOBILE%';  ☞ VALID 상태 확인

 

 

SQL> select mobile_phone('016-0000-0000') MAKER from dual;

 

MAKER
--------------------------------------------------------------------------------
KTF 016

 


 

- 논리 연산자

     AND, OR, NOT

 

- 스트링 연산자

     ||  : 스트링 연결 연산자.  ex) myname = 'Kang' || ' ' || 'Yong Woon';

 

 

 

연산자 우선순위

- 눈으로 확인하기 어려운 복잡한 식의 경우 괄호를 사용하여 우선순위를 제어하거나 보기 쉽게 한다.

 

  ①  **, NOT

  ②  +,- (양수,음수)

  ③  *,/

  ④  +,-,||  

  ⑤  =, <>, !=, ~=, <, >, <=, >=, LIKE, BETWEEN, IN, IS NULL

  ⑥  AND

  ⑦  OR

 

 

NULL

- NULL 값 조사시엔 항상 IS NULL 연산자를 사용해야 한다.    ex) IF a = NULL   ▶   IF a IS NULL

- NVL 함수를 통해 값이 NULL 일때 기본값을 지정할 수 있다.   NVL(식, Null 일때 값)

 

 

형 변환

- 자동으로 형변환이 이루어지거나, 직접 형변환을 지정할 수 있다.

- 자동으로 형변환이 이루어지게 하는 것보다는 명시적으로 변환시키는 것이 좋다.

- 관련 함수

TO_DATE : 문자 → 날짜

TO_NUMBER : 문자 → 숫자

TO_CHAR : 숫자,날짜 → 문자

[ 출처 ] http://blog.naver.com/tangamjaelt?Redirect=Log&logNo=36966369

'DataBase > PLSql' 카테고리의 다른 글

[PL/Sql] PL/Sql 패키지 사용 예  (0) 2012.08.13
[PL/Sql] PL/Sql 함수  (0) 2012.08.13
[PL/Sql] PL/Sql 블럭구조  (0) 2012.08.13
[PL/Sql] PL/Sql 데이터형  (0) 2012.08.13
[PL/Sql] PL/Sql 개념과예제  (0) 2012.08.13

+ Recent posts