[본문스크랩] PL/SQL (4) - 연산자

오라클 | 2007. 12. 21. 15:27
Posted by 시반

###################################################################################################

#   source site : blog.naver.com/tangamjaelt

#   master : 강용운

#   email : tangamjaelt@korea.com

#   last release : 2007.05.07

###################################################################################################

 

연산자 종류

 

- 대입 연산자

      변수   :=    값

 

- 산술 연산자

      ** : 지수연산자. 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 : 숫자,날짜 → 문자

 

 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)