** Single-Row Function

1. Character function
* inicap : 문자열의 첫번째 문자만 대문자로 변환
ex)inicap('student') -> 'Student'

* lower : 문자열 전체를 소문자로 변환
ex)lower('STUDENT') -> 'student'

* upper : 문자열 전체를 대문자로 변환
ex)upper('student') -> 'STUDENT'

* length : 문자열 길이를 반환
ex)length('student') -> 7

* lengthb : 문자열 바이트 수를 반환
ex)lengthb('홍길동') -> 6

* concat : 두 문자열을 결합. || 와 동일
ex)concat('sql','plus') -> 'sqlplus'

* substr : 특정 문자 또는 문자열 일부를 추출
ex)substr('SQL*PLUS',5,4) -> 'Plus'
ex)substr('SQL*PLUS',-5,4) -> '*PLU'

* substrb : 특정 문자 또는 문자 바이트 일부를 추출

* instr : 특정 문자가 출현하는 첫번째위치 반환
ex)instr('SQL*Plus','*') -> 4

* lpad : 오른쪽 정렬 후 왼쪽에 지정한 문자 삽입
ex)lpad('sql',5,'*') -> '**sql'

* rpad : 왼쪽 정렬 후 오른쪽에 지정한 문자 삽입
ex)rpad('sql',5,'*') -> 'sql**'

* ltrim : 왼쪽의 지정 문자를 삭제
ex)ltrim('*sql','*') -> 'sql'

* rtrim : 오른쪽의 지정 문자를 삭제
ex)rtrim('sql*','*') -> 'sql'

* trim : 양쪽 공백 삭제
ex)trim(' sql* ') -> 'sql*'

2. Number function
* ROUND : 지정한자리이하에서 반올림
ex)ROUND(123.17,1) ->123.2

* TRUNC : 지정한 자리 이하에서 절삭
ex)TRUNC(123.17,1) ->123.1

* MOD : m을 n 으로 나눈 나머지 값
ex)MOD(12,10) -> 2

* CEIL : 지정한 값보다 큰 수 중에서 가장 작은 정수
ex)SEIL(123.17) -> 124

* FLOOR : 지정한 값보다 작은 수 중에서 가장 큰 정수
ex)FLOOR(123.17) -> 123

3. Date function
* SYSDATE : 시스템의 현재 날짜 : 날짜

* MONTHS_BETWEEN : 날짜와 날짜 사이의 개월을 계산 : 숫자

* ADD_MONTHS : 날짜에 개월을 더한 날짜 계산 : 날짜

* NETX_DAY : 날짜후의 첫 월요일 날짜를 계산 : 날짜

* LAST_DAY : 월의 마지막 날짜를 계산 : 날짜

* ROUND : 날짜를 반올림 : 날짜 (정오를 넘으면 다음날을 출력한다)

* TRUNC : 날짜를 절삭 : 날짜 (시간정보와 상관없이 당일 날을 출력한다)

4. conversion function
* TO_CHAR : 숫자,날짜를 문자타입으로 변환
ex)TO_CHAR('05-03','YYYY-MM') -> 2007-12

* TO_NUMBER : 문자열을 숫자타입으로 변환
ex)TO_NUMBER(1000,'9,999') -> 1,000

* TO_DATE : 문자열을 날짜타입으로 변환
ex)TO_DATE('05/03','YYYY-MM') -> 2007-12

5. General function
* NVL : NULL 값을 0또는 다른 값으로 변환하는 함수

* NVL2 : NVL2(항목, 결과1, 결과2)
1) 항목이 NULL 이면 결과2, 아니면 결과 1

* DECODE
DECODE (expression | column, SEARCH1, RESULT1 [, SEARCH2, RESULT2,…,] [, DEFAULT])
1) 표현식 또는 컬럼의 값이 SEARCH1 값과 일치하면 RESULT1 값 반환하고 SEARCH2 값과 일치하면 RESULT2 값 반환한다.
2) 일치하는 값이 없거나 NULL 인 경우에는 기본 값 반환
3) 기본 값이 없는 경우에는 NULL 반환

* CASE
CASE expression WHEN comparison_exp1 THEN return_exp1 [ WHEN comparison_exp2 THEN return_exp2 WHEN comparison_exp3 THEN return_exp3 ELSE else_expression] END

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

hint 종류  (0) 2010.03.30
대량의 데이터 INSERT(HINT)  (0) 2010.02.01
환경알기  (0) 2009.12.30
to_char format  (0) 2009.12.30
Group Fucntion  (0) 2009.12.30
SELECT * FROM USER_TABLES;
SELECT * FROM USER_VIEWS;
SELECT * FROM V$INSTANCE;

set sqlprompt "_user>";

sqlplus as / sysdba

startup;
shutdown immediate;

--------------------------------------------
init 0

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

대량의 데이터 INSERT(HINT)  (0) 2010.02.01
Oracle Function Reference  (0) 2009.12.30
to_char format  (0) 2009.12.30
Group Fucntion  (0) 2009.12.30
Join  (0) 2009.12.30
9:자리수
0:'0'채우기
$:달러 단위
L: 현 사용 통화 단위
.:소수점
,:, 구분

YYYY : '2009' in number
YEAR : Year spelled out (in English)
MM : '05'
MONTH : Full name of the month
MON : Three-letter month (in English)
DY : Three-letter the day of the week
DAY : Full name of the day of the week
DD : '16'
HH24:MI:SS AM - '15:45:22 AM'

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

Oracle Function Reference  (0) 2009.12.30
환경알기  (0) 2009.12.30
Group Fucntion  (0) 2009.12.30
Join  (0) 2009.12.30
Sub Query  (0) 2009.12.30
** Group Fucntion
SELECT column, group_function(column)
FROM table
[WHERE condition]
[GROUP BY [ROLLUP|CUBE] group_by_expression]
[HAVING group_condition]


* COUNT : 행의 갯수 출력

* MAX : NULL을 제외한 모든행에서 최대값 출력 - 속도 저하

* MIN : NULL을 제외한 모든 행에서 최소값 출력 - 속도 저하

* SUM : NULL을 제외한 모든 행의 합계

* AVG : NULL을 제외한 모든 행의 평균값

* STDDEV : NULL을 제외한 모든 행의 표준편차

* VARIANCE : NULL을 제외한 모든 행의 분산 값

* GROUPING : 해당 칼럼이 그룹에 사용되었는지 여부를 1 또는 0으로 반환

* GROUPING SET : 한번의 질의로 여러개의 그룹화 가능

* ROLLUP : GROUP BY 절의 그룹 조건에 따라 전체 행을 그룹화하고 각 그룹에 대해 부분합을 구하는 연산자
ROLLUP 연산자의 그룹핑 조합 : n+1

* CUBE: ROLLUP에 의한 그룹 결과와 GROUP BY 절에 기술된 조건에 따라 그룹 조합을 만드는 연산자
CUBE 연산자의 그룹핑 조합 : 2n

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

환경알기  (0) 2009.12.30
to_char format  (0) 2009.12.30
Join  (0) 2009.12.30
Sub Query  (0) 2009.12.30
DML  (0) 2009.12.30

+ Recent posts