연산자 종류
- 대입 연산자
변수 := 값
- 산술 연산자
** : 지수연산자. 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 : 숫자,날짜 → 문자
'프로그래머의 길 > Oracle' 카테고리의 다른 글
PL/SQL (3) - 블럭 구조 (0) | 2008.01.25 |
---|---|
oracle DECODE 함수 사용법 (0) | 2008.01.18 |
PL/SQL (2) - 데이터형 (0) | 2008.01.14 |
PL/SQL (1) - 개념과 예제 (2) | 2008.01.09 |