본문 바로가기

function

ORACLE POSITION OF FUNCTION v1.0 ORACLE POSITION OF FUNCTION from 1. ORACLE POSITION OF FUNCTION ORACLE 의 FUNCTION 은 주의해서 사용해야 한다. 이것이 SELECT-LIST 에 오느냐 WHERE 절에 오느냐에 따라서 주의할 점도 달라진다. 밑에서 내용을 진행하기 전에 테스트용으로 HR USER 를 사용했고 DNAME 이라는 입력된 EMP.DEPARTMENT_ID 에 대해 DEPARTMENTS.DEPARTMENT_NAME 을 반환하는 FUNCTION 을 생성하였다. SQL> CREATE OR REPLACE FUNCTION DNAME(INP IN NUMBER) 2 RETURN VARCHAR2 3 IS 4 TMP VARCHAR2(20); 5 BEGIN 6 SELECT DEPART.. 더보기
ORACLE FUNCTION USING DUAL v1.0 ORACLE FUNCTION USING DUAL from 1. ORACLE FUNCTION USING DUAL Trace 를 보면 cr 값이 이상한 곳에서 튀는 경우가 있다. 이를테면 sort 한 결과에서 row 값은 그대로인데 cr 이 튀는 경우가 그러하다. 이런경우 생각할 수 있는 경우로 결과 row 에 대해 스칼라 서브쿼리나 select-list 에 use function 을 사용한 경우가 있다. /*+ system function 을 사용하는 경우도 cr 이 바뀔 수 있나? */ 이 cr 값을 줄이기 위한 방법중 하나가 dual 을 사용하는 방법으로 f(x) 를 select f(x) from dual 로 바꾼다. 이러한 방법으로 동일한 입력에 대해 결과값을 다시 사용하면서 cr을 줄일 수 있다. .. 더보기
ORACLE ROW_NUMBER v1.0 ORACLE ROW_NUMBER from OTN ROW_NUMBER | http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions137.htm#SQLRF06100 1. ROW_NUMBER è ROW_NUMBER () OVER -> ( [QUERY_PARTITION CLAUSE] -> ORDER_BY_CLAUSE) ANALYTIC FUNCTION 이며 이 함수는 제공받는 ROW 에 대해 UNIQUE 한 수를 부여한다. (파티션에 의해 반환되는 로우 혹은 쿼리에 의해 반환되는 로우에 대해) 부여하는 고유한 수는 1 부터 시작된다. 2. ROW_NUMBER 예제 SQL> select ename,deptno,empno, 2 row_numbe.. 더보기
ORACLE CAST FUNCTION v1.0 ORACLE CAST FUNCTION from OTN CAST| http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions016.htm#SQLRF00613 1. CAST CAST는 하나의 built-in 데이터 타입이나 collection-typed value 를 다른 built-in datatype 이나 collection-typed value 로 변환해 준다. 사용문법은 아래와 같다. cast( expr ) as type_name ) ( multiset ( subquery) 하나의 built-in 데이터타입을 다른 데이터타입으로 변경하는 경우 일반적인 데이터 형변환 함수의 사용과 동일하다. 일반적인 형변환 함수와 구분되는 특징은 .. 더보기
ORACLE CONVERTING FUNC v1.0 ORACLE CONVERTING FUNC from Beginning Oracle Programming | 정보문화사 1. ORACLE CONVERTING FUNC A. CAST 입력값을 다른 변수 타입으로 변환하는 함수이다. TO_CHAR, TO_DATE, TO_NUMBER 사용하는 경우와 동일한 결과를 가진다. /*+MULTISET 의 변환에도 사용한다. */ SQL> select cast('2' as number) from dual; CAST('2'ASNUMBER) ----------------- 2 B. CHARTOROWID CHAR 값을 ROWID로 변환하는 함수이다. CHAR 값 그대로 사용해도 ORACLE이 변환해준다. SQL> select ename from emp 2 where rowid .. 더보기
ORACLE CHAR FUNCv1.0 ORACLE CHAR FUNC from Beginning Oracle Programming | 정보문화사 1. CHAR FUNC A. CHR 바이너리 정보를 문자타입으로 변환 SQL> select chr(71) from dual; C - G B. INITCAP 영문자의 첫 글자를 대문자로 나머지를 소문자로 변환 SQL> select initcap('HELLO') from dual; INITC ----- Hello SQL> select initcap('HELLO77') from dual; INITCAP ------- Hello77 숫자 + 영문 이 뒤섞인 경우 숫자를 포함하여 변환한다.(숫자에는 변화없다) SQL> select initcap('7HELLO') from dual; INITCA ------ 7.. 더보기
ORACLE TIME FUNCTION v1.0 ORACLE TIME FUNCTION from Beginning Oracle Programming | 정보문화사 1. TIME FUNCTION A. DUAL SQL> select sysdate from dual; SYSDATE --------- 31-MAY-09 SQL> select systimestamp from dual; SYSTIMESTAMP --------------------------------------------------------------------------- 31-MAY-09 10.13.09.298933 AM +09:00 B. ADD_MONTHS 시간정보에 월(MONTH) 를 더하는 함수이다. SQL> select add_months(systimestamp,2) from dual;.. 더보기
ORACLE NUMERIC FUNCTION v1.0 ORACLE NUMERIC FUNCTION from Beginning Oracle Programming | 정보문화사 1. NUMERIC FUNCTION A. ABS 절대값을 구하는 함수이다. SQL> select abs(-4.56) from dual; ABS(-4.56) ---------- 4.56 SQL> select abs(+4.56) from dual; ABS(+4.56) ---------- 4.56 B. CEIL 입력값보다 크지만 그 중에서 가장 작은 정수값을 구하는 함수이다. 양수 입력에 대해서는 올림을 생각하면 되고 음수 입력에 대해서는 소수 자리를 제거한 값을 만들어준다. CEIL ( 입력1 ) 입력1은 가공할 실제적인 값이다. SQL> select ceil(4.1) from dual; C.. 더보기