행복한프로그래머

오라클 내장함수 본문

IT세상/DB(오라클)

오라클 내장함수

행복한프로그래머 2017. 3. 3. 13:32

출처 sinjava님의 블로그 | 고양이
원문 http://blog.naver.com/sinjava/80019275762



오라클 내장함수



Error 관련 내장함수 

---------------------------------------------------------------------

SQLCODE        현재 발생한 오류에 따른 오류 코드를 반환한다. 

SQLERRM        오라클 오류 코드와 연결된 오류 메시지를 반환한다. 


Number 관련 내장함수 

---------------------------------------------------------------------

ABS            어떤 수의 절대값을 반환한다. 

ACOS         어떤 수의 아크코사인을 라디안 단위로 반환한다. 

ASIN           어떤 수의 아크사인을 라디안 단위로 반환한다. 

ATAN          어떤 수(x)의 아크탄젠트를 라디안 단위로 반환한다. 

ATAN2        어떤 수(y/x)의 아크탄젠트를 라디안 단위로 반환한다. 

CEIL           지정된 수보다 크거나 같은 최소 정수 값을 반환한다. 

COS            어떤 수의 코사인을 라디안 단위로 반환한다. 

COSH         어떤 수의 쌍곡선 코사인을 라디안 단위로 반환한다. 

EXP            어떤 수의 지수 값을 반환한다. e=2.7182818 

FLOOR        지정된 수보다 크거나 같은 최대 정수 값을 반환한다. 

LN             어떤 수 x의 대수 값을 반환한다. 

LOG            어떤 수 y에서 x를 밑으로 한 대수 값을 반환한다. 

MOD            어떤 수 x를 y로 나눈 나머지를 반환한다. 

POWER          어떤 수 x에 y 제곱한 값을 반환한다. 

ROUND          x를 y자리에서 반올림한 값을 반환한다. 

SIGN           숫자 x의 부호에 따라 양수이면 +1, 음수이면 -1, 0이면 0을 반환한다. 

SIN            어떤 수의 사인을 라디안 단위로 반환한다. 

SINH           어떤 수의 쌍곡선 사인을 라디안 단위로 반환한다. 

SQRT           어떤 수 x의 제곱근을 반환한다. x는 반드시 양의 실수이다. 

TAN            어떤 수의 탄젠트를 라디안 단위로 반환한다. 

TANH           어떤 수의 쌍곡선 탄젠트를 라디안 단위로 반환한다. 

TRUNC          어떤 수 x를 y 위치에서 잘라낸다.  


Character 관련 내장함수 

---------------------------------------------------------------------

ASCII          문자의 ASCII 코드를 반환한다. 

CHR            주어진 ASCII 값에 해당하는 문자를 반환한다. 

CONCAT         두 개의 스트링을 서로 연결한다. (|| 연산자를 사용한 것과 같다) 

INITCAP        각 단어의 첫 글자를 대문자로 나머지는 소문자로 변환한 스트링을 반환한 

                다(문자가 아닌 값에는 영향이 없다) 

INSTR          어떤 스트링에서 특정 스트링의 위치를 반환한다. 

INSTRB         어떤 스트링에서 특정 스트링의 위치를 반환하는데,  값을 싱글 바이트 문 

                자 시스템에 대한 바이트 단위로 반환한다. 

LENGTH         뒤에 따라오는 공백을 포함하여 문자 스트링의 길이를 반환한다. 값이 null 

                이면 null을 반환한다. 

LENGTHB        문자 스트링의 길이를 반환하는데, 이것은 값을 싱글 바이트 문자 셋에 대 

                한 바이트 단위로 반환한다. 

LOWER          전체 문자 스트링을 소문자로 바꾼다. 문자가 아닌 값에는 영향이 없다 

LPAD           스트링의 왼쪽에 지정한 어떤 스트링을 덧붙인다. 

LTRIM          왼쪽에 있는 문자 스트링을 잘라낸다. 

NLS_INITCAP    NLSSORT에 의해 지정된 다른 정렬방법을 사용할 수 있다는 것을 제외하 

                고는 INITCAP 함수와 같다. 

NLS_LOWER      NLSSORT에 의해 지정된 다른 정렬방법을 사용할 수 있다는 것을 제외하 

                고는 LOWER 함수와 같다. 

NLS_UPPER      NLSSORT에 의해 지정된 다른 정렬 방법을 사용할 수 있다는  것을 제외 

                하고는 UPPER 함수와 같다. 

NLSSORT        문자를 정렬하는 방법을 바꾼다. 이것은 NLS 함수를  사용하기 전에 지정 

                해야 한다. 그렇지 않으면 기본 정렬이 사용된다. 

REPLACE        어떤 스트링이 나타나는 곳마다 다른 스트링으로 바꾼다. 

RPAD           스트링의 오른쪽에 지정된 어떤 스트링을 덧붙인다. 

RTRIM          오른쪽에 있는 문자 스트링을 잘라낸다. 

SOUNDEX        스트링의 음향을 반환한다. 철자는 다르지만 소리는 비슷한 단어에 유용하 

                다. 

SUBSTR         어떤 스트링에서 스트링의 일부를 반환한다. 

SUBSTRB        싱글 바이트 문자 시스템을 처리하기 위해 파라미터가 문자가 아닌 바이트  

                단위로 표현된다는 것을 제외하고는 SUBSTR 함수와 같다. 

TRIM           LTRIM과 RTRIM 함수의 기능을 조합한  것이다. 스트링에서 앞 뒤 문자 

                를 잘라낸다. 

TRANSLATE      REPLACE와 똑 같지만 이것은  스트링 단위가 아닌 문자  단위로 작동한 

                다. 

UPPER          전체 문자 스트링을 대문자로 바꾼다. 문자가 아닌 값에는 영향이 없다. 


Conversion 관련 내장함수 

---------------------------------------------------------------------

CHARTOROWID    오라클이 제공하는 외부형식으로  된 CHAR이나 VARCHAR2를  그 내부  

                바이너리 형식으로 변환한다. 

CONVERT        한 문자 셋을 다른 문자 셋으로 변환한다. 

HEXTORAW       16진 스트링 값을 내부 원시 값으로 변환한다. 

RAWTOHEX       내부 원시 값을 외부 16진 스트링으로 변환한다. 

ROWIDTOCHAR    ROWID를 외부적인 18 문자 스트링 표현으로 변환한다. 

TO_CHAR        DATES, MLSLABELS, NUMBERS를 VARCHAR2 스트링으로 변환한다. 

TO_DATE        CHAR이나 VARCHAR2 스트링을 DATE 값으로 변환한다. 

TO_LABEL       CHAR이나 VARCHAR2 스트링을 MLSLABEL 값으로 변환한다. 

TO_MULTI_BYTE  싱글 바이트 스트링으로 된 문자를 멀티 바이트 스트링으로 변환한다. 

TO_NUMBER      CHAR이나 VARCHAR2 스트링을 NUMBER 값으로 변환한다. 

TO_SINGLE_BYTE 멀티 바이트 스트링으로 된 문자를 싱글 바이트 스트링으로 변환한다. 


Date 관련 내장함수 

---------------------------------------------------------------------

ADD_MONTHS     지정된 날짜에 1달을 더한다.  만일 결과로 나온 달이  현재일수보다 작은  

                일수를 갖고 있는 달로 변경되면 그 달의 마지막 날을 반환한다. 

LAST_DAY       주어진 달의 마지막 날을 반환한다.  

MONTHS_BETWEEN 두 날짜 사이의 개월 수를 계산한다. 만일 두 날짜가 그 달의 마지막 날이 

                라면 정수를 반환하고 그렇지 않으면 한 달을 31일로 계산한 분수 값을 반 

                환한다. 

NEW_TIME       사용자가 지정한 시간대에 대한 시간/날짜 값을 반환한다. 

NEXT_DAY       시작 날짜 다음에 지정된 요일이 처음으로 나오는 날짜를 반환한다. 

ROUND          월, 연도, 세기 등과 같이 선택한 날짜 파라미터를 반올림한다. 

SYSDATE        시스템 날짜와 시간을 DATE 형식으로 반환한다. 

TRUNC          일, 월 등과 같이 지정된 날짜 파라미터를 잘라낸다. 


집합함수 

---------------------------------------------------------------------

AVG            지정된 컬럼 값의 평균을 구한다. 

COUNT          쿼리에서 반환되는 행의 개수를 구한다. 

GLC            MLSLABEL의 최대 아래쪽 한계를 구한다. 

LUB            MLSLABEL의 최대 위쪽 한계를 구한다. 

MAX            쿼리에서 지정된 컬럼의 값 중 가장 큰 값을 반환한다. 

MIN            쿼리에서 지정된 컬럼의 값 중 가장 작은 값을 반환한다. 

STDDEV         쿼리에서 선택된 컬럼의 표준 편차를 반환한다. 

SUM            쿼리에서 선택된 컬럼의 합계를 구한다. 

VARIANCE       쿼리에서 선택된 컬럼의 분산을 구한다. 

DISTINCT       쿼리의 유일값만 구한다. 


【예제】 

SQL> select COUNT(DISTINCT job) from emp; 

SQL> select COUNT(job) from emp; 

SQL> select COUNT(*) from emp; 



기타 내장함수 

---------------------------------------------------------------------

BFILENAME      파일이 저장되어 있는 물리적 LOB  바이너리 파일과 연결되어 있는 포인 

                터를 반환한다. 오라클에서는 포인터를 locator라고 부른다. 

DECODE         값 목록 중에서 IF-THEN-ELSE 문과 같이 작동한다. 

DUMP           VARCHAR2 스트링으로 된 덤프 값을 제공한다. 스트링을 여러 가지 다른  

                형식으로 된 표현으로 보여주기 위해서이다. 

EMPTY_BLOB     데이터를 갖고 있지 않는 컬럼이나 BLOB 변수를 초기화하는데 사용한다. 

EMPTY_CLOB     데이터를 갖고 있지 않는 컬럼이나 CLOB 변수를 초기화하는데 사용한다. 

GREATEST       값이나 식의 목록에서 가장 큰 값을 반환한다. 

GREATEST_LB    MLSLABELS 목록에서 최대 아래쪽 한계를 반환한다. 

LEAST          값이나 식의 목록에서 가장 작은 값을 반환한다. 

LEAST_LB       MLSLABELS 목록에서 최소 아래쪽 한계를 반환한다. 

NLS_CHARSET_ID  NLS 문자셋 이름과 연결된 NLS 문자셋 ID 번호를 반환한다. 

NLS_CHARSET_NAME 함수에 전달된 ID와 연결된 NLS 문자셋 이름을 반환한다. 

NVL            값이나 식의 목록에서 처음으로 NULL이 아닌 값을 선택한다. 

UID            오라클 사용자에게 할당된 사용자 ID를 반환한다. 

USER           현재 사용자 이름을 VARCHAR2 스트링으로 반환한다. 

USERENV        현재 작업환경에 관한 정보를 반환한다. 

VSIZE          어떤 값의 바이트 수를 반환한다. 


【예제】 

$ sqlplus scott/tiger 

SQL> select * from emp; 

SQL> select uid from dual; 

SQL> select user from dual; 

SQL> select count(user) from emp; 

SQL> select avg(sal) from emp; 

SQL> select max(sal) from emp; 

SQL> select min(sal) from emp; 

SQL> select stddev(sal) from emp; 

SQL> select sysdate from dual; 

SQL> select last_day(sysdate) from dual; 

SQL> select to_char(sysdate) from dual; 

SQL> select to_char(next_day(sysdate,'monday'),'MM/DD/yyyy')  

    2  from dual; 



Comments