1. 문자함수 (Character Functions)

  • LOWER( column|expression ) 

          LOWER('String') --> string : 소문자로 변환

  • UPPER( column|expression )

          UPPER('String') --> STRING : 대문자로 변환

  • INITCAP( column|expression )

          INITCAP('string') --> String : 첫글자만 대문자이고 나머지글자는 소문자로 변환

  • CONCAT( column1|expression1 ,column2|expression2 )

          CONCAT('Good','String') --> GoodString : ||와 같은 역할

  • SUBSTR(column|expression, m [,n]) : m값이 음수면 문자값의 끝부터..

          SUBSTR('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다.

  • LENGTH( column|expression )

          LENGTH('String') --> 6 : 문자열의 길이를 리턴

  • INSTR( column|expression, )

          INSTR('String','r') --> 3 : 문자열에 'r'이 몇번째 위치하고 있나를 리턴

  • LPAD( column|expression,n,'string' ) : n 은 전체 길이

          LPAD('String',10,'*') --> ****String

          10자리수중에 모자란 자리수를 '*'로 왼쪽에 채움(문자,숫자 가능!!!)

  • RPAD('String',10,'*') --> String****

          10자리수중에 모자란 자리수를 '*'로 오른쪽에 채움(문자,숫자 가능!!!)

  • LTRIM(' String') --> 'String' : 문자열의 왼쪽 공백을 버림
  • RTRIM('String ') --> 'String' : 문자령의 오른쪽 공백을 버림
  • TRIM(leading/tailing/both, trim_character FROM trim_source )
  • TRIM( 'S' FROM 'SSMITH') --> MITH

 

2. 숫자함수 (Number Functions)

  • ROUND(45.926, 2) --> 45.93 : 소수점 두자리수까지 보여주면서 반올림
  • TRUNC(45.926, 2) --> 45.92 : 소수점 두자리까지만 보여주고 나머지는 버림
  • MOD(1600,300) --> 100 : 1600을 300으로 나누고 나머지를 리턴
  •  ROUND예제(WHOLE NUMBER:정수)

           SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL

           ==> 45.92 46 50

  • TRUNC예제

          SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-1) FROM DUAL

          ==> 45.92 45(n이 생략된면 일의 자리까지 남기고 버린다.) 40

  • 난수

          예1) 1부터 1000사이의 정수를 리턴

         SELECT  ROUND(dbms_random.value(1,1000),0)

                 from dual;     


3. 날짜함수 (Date Functions)

  • SYSTEM 날짜를 갖고 오는 방법.

          SELECT sysdate FROM dual 

  • MONTHS_BETWEEN('01-SEP-95','11-JAN-94') --> 19.6774194

          : 두날짜 사이의 달수를 보여줌

  • ADD_MONTHS('11-JAN-94', 6) --> 11-JUL-94 

          :  날짜에 6개월을 더한 날자를 보여줌

  • NEXT_DAY('01-SEP-95','FRIDAY') --> '08-SEP-95'

         : 해당일 다음에 오는 FRIDAY의 일자를 보여줌

           'SUNDAY'는 1, 'MONDAY'는 2...이런식으로 숫자를 써줘도 됨

  • LAST_DAY('01-SEP-95') --> '30-SEP-95'

         :  해당월의 마지막날짜를 보여줌

  • ROUND('25-JUL-95','MONTH')--> 01-AUG-95 ROUND('25-JUL-95','YEAR')--> 01-JAN-96
  • TRUNC('25-JUL-95','MONTH') --> 01-JUL-95 TRUNC('25-JUL-95','YEAR') --> 01-JAN-95
  • * Date 계산( 날짜를 숫자로 저장)
    date + number : date에 number만큼 후의 날자를 보여줌
  • date - number : date에 number만큼 전의 날자를 보여줌
  • date1 - date2 : date1에서 date2 까지의 총 일수를 보여줌( date1+date2는 X )
  • date1 + 숫자/24 : date1에서 시간을 더해 날짜를 보여줌

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

오라클 그룹함수 rollup,cube  (0) 2008.09.23
ORACLE HINT 사용  (0) 2008.09.03
[튜닝] EXPLAIN PLAN 분석  (0) 2008.08.05
오라클 예약어  (0) 2008.06.20
* PL/SQL의 미리 정의된 예외  (0) 2008.06.20

+ Recent posts