728x90
CEIL
:: 소수점 이후의 값은 무조건 올림하는 함수.
MOD
:: 두 수를 나눈 나머지 값을 구하는 함수.
POWER
:: 승수 값을 구하는 함수.
[예] SQL> select POWER(3, 2), POWER(3, -2) from dual;
[결과] 9 .11111111
ROUND
:: 반올림 값을 구하는 함수.
[예] SQL> select ROUND(345.123, 0), ROUND(345.123, 2), round(345.123, -1) from dual;
[결과] 345 345.12 350
TRUNC
:: 버림 값을 구하는 함수.
[예] SQL> select TRUNC(345.123, 2), TRUNC(345.123, 0), trunc(345.123, -1) from dual;
[결과] 345.1 345 340
SIGN
:: 해당 값이 양수면 1, 음수면 -1, 0이면 0을 돌려준다.
[예] SQL> select SIGN(345.123), SIGN(0), SIGN(-345.123) from dual;
[결과] 1 0 -1
CHR, ASCII
:: ASCII은 문자로, 문자는 ASCII 값으로 반환하는 함수.
[예] SQL> select CHR(65), ASCII('A') from dual;
[결과] A 65
LOWER, UPPER
:: 문자열을 소문자와 대문자로 반환하는 함수.
[예] SQL> select LOWER('My'), UPPER('My') from dual;
[결과] my MY
LPAD(char1, n, char2)
:: n 자리 만큼의 공간에서 char1을 오른쪽에 붙이고, 나머지 공간을 char2로 채운다.
RPAD(char1, n, char2)
:: n 자리 만큼의 공간에서 char1을 왼쪽에 붙이고, 나머지 공간을 char2로 채운다.
[예] SQL> select LPAD('LDH', 10, '#'), RPAD('LDH', 10, '#') from dual;
[결과] #######LDH LDH#######
LTRIM, RTRIM
:: 각 각 오른쪽(LTRIM)과 왼쪾(RTRIM)의 공백(Space)을 제거한다.
REPLACE(char1, char2, char3)
:: char1 문자열에서 char2를 char3으로 치환하는 함수.
[예] SQL> select REPLACE('Orange', 'O', 'A') from dual;
[결과] Arange
SUBSTR(char1, n, m)
:: char1 문자열의 n번째부터 시작해서 m번째까지의 문자열을 리턴한다.
[예] SQL> select SUBSTR('오라클 Oracle', 1, 3) from dual;
[결과] '오라클'
[예] SQL> select SUBSTR('오라클 Oracle', 7, 9) from dual;
[결과] 'acl'
[예] SQL> select SUBSTR('오라클 Oracle', 10) from dual;
[결과] 'e'
SUBSTRB
:: 바이트 단위로 계산하여 문자열을 치환하는 함수.
[예] SQL> select SUBSTRB('오라클 Oracle', 1, 3) from dual;
[결과] '오'
[예] SQL> select SUBSTRB('오라클 Oracle', 7, 9) from dual;
[결과] ' Or'
[예] SQL> select SUBSTRB('오라클 Oracle', 10) from dual;
[결과] 'acle'
LENGTH, LENGTHB
:: 문자열의 길이를 나타낸다.
[예] SQL> select LENGTH(운동(축구)), LENGTH(운동(축구)) from dual;
[결과] 6 10
INSTR(char1, char2, n, m)
:: char1에서 char2가 포함된 문자열의 위치가 char1을 기준으로 n번째 위치부터 시작해서 m번째로 char2와 같은 위치를 돌려준다.
INSTRB(char1, char2, n, m)
:: 바이트 단위로 내용은 위와 같다.
[예] SQL> INSTR('간장콩장공장장', '장', 1, 2), INSTRB(간장콩장공장장', '장', 1, 2) from dual;
[결과] 4 7
[예] SQL> INSTR('Corporate Floor', 'or', 3, 2), INSTRB('Corporate Floor', 'or', 3, 2) from dual;
[결과] 11 11
[예] SQL> INSTR('오라클 Oracle', 'r', 1, 1), INSTRB('오라클 Oracle', 'r', 1, 1) from dual;
[결과] 6 9
SYSDATE
:: 현재의 일자와 시간을 의미하고, 기본값으로 오늘일자를 돌려준다.
[예] SQL> select SYSDATE from dual;
[결과] 04/04/19
[예] SQL> select to_char(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') from dual;
[결과] 2004-04-19 00:44:20
LAST_DAY
:: 해당 월의 마지막 날짜를 돌려준다.
[예] SQL> select LAST_DAY(SYSDATE), SYSDATE from dual;
[결과] 04/04/30 04/04/19
MONTH_BETWEEN(date1, date2)
:: date1과 date2를 월 단위로 계산하여 그 값을 리턴한다. 만약, date1이 date2보다 크면, 양수의 결과가 나온다.
[예] SQL> select MONTH_BETWEEN('2004-01-19', '2004-04-19') from dual;
[결과] -3
ADD_MONTHS(date, n)
:: date의 n개월 후의 값을 리턴한다.
[예] SQL> select ADD_MONTHS(SYSDATE, 2), SYSDATE from dual;
[결과] 04/06/19 04/04/19
NEXT_DAY(date, n)
:: date를 기준으로 n요일에 해당하는 다음 날짜를 리턴한다.
[예] SQL> select NEXT_DAY(SYSDATE, 2), NEXT_DAY(SYSDATE, 7), SYSDATE from dual;
[결과] 04/04/20 04/04/25 04/04/19
TO_CHAR(n), TO_CHAR(n, format), TO_CHAR(date, format)
:: n을 format 형식의 문자로 바꾸는 함수.
[예] SQL> select TO_CHAR(123.456) from dual;
[결과] 123
[예] SQL> select TO_CHAR(123456.789, '999,999.9999') from dual;
[결과] 123, 456.7890
[예] SQL> select TO_CHAR(SYSDATE, 'YYYY') from dual;
[결과] 2004
TO_NUMBER(char), TO_NUMBER(char, format)
:: char를 format 형식의 숫자로 바꾸는 함수.
[예] SQL> select TO_NUMBER('123.12') from dual;
[결과] 123.12
[예] SQL> select TO_NUMBER('123.12', '999.999') from dual;
[결과] 123.120
TO_DATE(char), TO_DATE(char, format)
[예] SQL> select TO_DATE('20040419') from dual;
[결과] 2004-04-19 00:00:00
[예] SQL> select TO_DATE('20040419', 'YY/MM/DD') from dual;
[결과] 04/04/19
AVG(column_name)
:: 해당 컬럼의 평균값을 리턴한다.
MAX(column_name)
:: 해당 컬럼에서 제일 큰 값을 리턴한다.
MIN(column_name)
:: 해당 컬럼에서 제일 작은 값을 리턴한다.
SUN(column_name)
:: 해당 컬럼의 합계를 리턴한다.
COUNT(column_name)
:: 조회건수를 리턴한다.
NVL(column_name, 대신할 데이터)
:: 해당 컬럼이 Null일 경우, 대신할 문자나 숫자 등을 대신 사용한다.
DECODE
:: 연속된 조거문이라고 할 수 있는데, 가장 자주 쓰이는 함수 중에 하나이다.
[예] SQL> select DECODE(idx, 10, '가', 20, '나', 30, '다', 40, '라') from dual;
[설명] idx가 10이면 '가'이고, 20이면 '나'이고, 30이면 '다'이고, ...
USERENV
:: 현재 세션의 환경 정보를 반환한다.
ENTRYID : 사용 가능한 Auditing entry Identifier를 반환.
LABEL : 현재 세션의 Label을 반환.
LANGUAGE : 현재 세션에서 사용중인 언어와 테리토리 값을 반환.
SESSIONID : Auditing(감사) Session ID를 반환.
TERMINAL : 현재 세션 터미널의 OS ID를 반환.
GREATEST(n1, n2, n3, ...)
:: 숫자나 문자 아무거나 나열하면 그 중에 가장 큰 값을 반환한다.
LEAST(n1, n2, n3, ...)
:: 숫자나 문자 아무거나 나열하면 그 중에 가장 작은 값을 반환한다.
UID, USER
:: 사용자 ID와 사용자의 OWNER를 돌려준다.
:: 소수점 이후의 값은 무조건 올림하는 함수.
MOD
:: 두 수를 나눈 나머지 값을 구하는 함수.
POWER
:: 승수 값을 구하는 함수.
[예] SQL> select POWER(3, 2), POWER(3, -2) from dual;
[결과] 9 .11111111
ROUND
:: 반올림 값을 구하는 함수.
[예] SQL> select ROUND(345.123, 0), ROUND(345.123, 2), round(345.123, -1) from dual;
[결과] 345 345.12 350
TRUNC
:: 버림 값을 구하는 함수.
[예] SQL> select TRUNC(345.123, 2), TRUNC(345.123, 0), trunc(345.123, -1) from dual;
[결과] 345.1 345 340
SIGN
:: 해당 값이 양수면 1, 음수면 -1, 0이면 0을 돌려준다.
[예] SQL> select SIGN(345.123), SIGN(0), SIGN(-345.123) from dual;
[결과] 1 0 -1
CHR, ASCII
:: ASCII은 문자로, 문자는 ASCII 값으로 반환하는 함수.
[예] SQL> select CHR(65), ASCII('A') from dual;
[결과] A 65
LOWER, UPPER
:: 문자열을 소문자와 대문자로 반환하는 함수.
[예] SQL> select LOWER('My'), UPPER('My') from dual;
[결과] my MY
LPAD(char1, n, char2)
:: n 자리 만큼의 공간에서 char1을 오른쪽에 붙이고, 나머지 공간을 char2로 채운다.
RPAD(char1, n, char2)
:: n 자리 만큼의 공간에서 char1을 왼쪽에 붙이고, 나머지 공간을 char2로 채운다.
[예] SQL> select LPAD('LDH', 10, '#'), RPAD('LDH', 10, '#') from dual;
[결과] #######LDH LDH#######
LTRIM, RTRIM
:: 각 각 오른쪽(LTRIM)과 왼쪾(RTRIM)의 공백(Space)을 제거한다.
REPLACE(char1, char2, char3)
:: char1 문자열에서 char2를 char3으로 치환하는 함수.
[예] SQL> select REPLACE('Orange', 'O', 'A') from dual;
[결과] Arange
SUBSTR(char1, n, m)
:: char1 문자열의 n번째부터 시작해서 m번째까지의 문자열을 리턴한다.
[예] SQL> select SUBSTR('오라클 Oracle', 1, 3) from dual;
[결과] '오라클'
[예] SQL> select SUBSTR('오라클 Oracle', 7, 9) from dual;
[결과] 'acl'
[예] SQL> select SUBSTR('오라클 Oracle', 10) from dual;
[결과] 'e'
SUBSTRB
:: 바이트 단위로 계산하여 문자열을 치환하는 함수.
[예] SQL> select SUBSTRB('오라클 Oracle', 1, 3) from dual;
[결과] '오'
[예] SQL> select SUBSTRB('오라클 Oracle', 7, 9) from dual;
[결과] ' Or'
[예] SQL> select SUBSTRB('오라클 Oracle', 10) from dual;
[결과] 'acle'
LENGTH, LENGTHB
:: 문자열의 길이를 나타낸다.
[예] SQL> select LENGTH(운동(축구)), LENGTH(운동(축구)) from dual;
[결과] 6 10
INSTR(char1, char2, n, m)
:: char1에서 char2가 포함된 문자열의 위치가 char1을 기준으로 n번째 위치부터 시작해서 m번째로 char2와 같은 위치를 돌려준다.
INSTRB(char1, char2, n, m)
:: 바이트 단위로 내용은 위와 같다.
[예] SQL> INSTR('간장콩장공장장', '장', 1, 2), INSTRB(간장콩장공장장', '장', 1, 2) from dual;
[결과] 4 7
[예] SQL> INSTR('Corporate Floor', 'or', 3, 2), INSTRB('Corporate Floor', 'or', 3, 2) from dual;
[결과] 11 11
[예] SQL> INSTR('오라클 Oracle', 'r', 1, 1), INSTRB('오라클 Oracle', 'r', 1, 1) from dual;
[결과] 6 9
SYSDATE
:: 현재의 일자와 시간을 의미하고, 기본값으로 오늘일자를 돌려준다.
[예] SQL> select SYSDATE from dual;
[결과] 04/04/19
[예] SQL> select to_char(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') from dual;
[결과] 2004-04-19 00:44:20
LAST_DAY
:: 해당 월의 마지막 날짜를 돌려준다.
[예] SQL> select LAST_DAY(SYSDATE), SYSDATE from dual;
[결과] 04/04/30 04/04/19
MONTH_BETWEEN(date1, date2)
:: date1과 date2를 월 단위로 계산하여 그 값을 리턴한다. 만약, date1이 date2보다 크면, 양수의 결과가 나온다.
[예] SQL> select MONTH_BETWEEN('2004-01-19', '2004-04-19') from dual;
[결과] -3
ADD_MONTHS(date, n)
:: date의 n개월 후의 값을 리턴한다.
[예] SQL> select ADD_MONTHS(SYSDATE, 2), SYSDATE from dual;
[결과] 04/06/19 04/04/19
NEXT_DAY(date, n)
:: date를 기준으로 n요일에 해당하는 다음 날짜를 리턴한다.
[예] SQL> select NEXT_DAY(SYSDATE, 2), NEXT_DAY(SYSDATE, 7), SYSDATE from dual;
[결과] 04/04/20 04/04/25 04/04/19
TO_CHAR(n), TO_CHAR(n, format), TO_CHAR(date, format)
:: n을 format 형식의 문자로 바꾸는 함수.
[예] SQL> select TO_CHAR(123.456) from dual;
[결과] 123
[예] SQL> select TO_CHAR(123456.789, '999,999.9999') from dual;
[결과] 123, 456.7890
[예] SQL> select TO_CHAR(SYSDATE, 'YYYY') from dual;
[결과] 2004
TO_NUMBER(char), TO_NUMBER(char, format)
:: char를 format 형식의 숫자로 바꾸는 함수.
[예] SQL> select TO_NUMBER('123.12') from dual;
[결과] 123.12
[예] SQL> select TO_NUMBER('123.12', '999.999') from dual;
[결과] 123.120
TO_DATE(char), TO_DATE(char, format)
[예] SQL> select TO_DATE('20040419') from dual;
[결과] 2004-04-19 00:00:00
[예] SQL> select TO_DATE('20040419', 'YY/MM/DD') from dual;
[결과] 04/04/19
AVG(column_name)
:: 해당 컬럼의 평균값을 리턴한다.
MAX(column_name)
:: 해당 컬럼에서 제일 큰 값을 리턴한다.
MIN(column_name)
:: 해당 컬럼에서 제일 작은 값을 리턴한다.
SUN(column_name)
:: 해당 컬럼의 합계를 리턴한다.
COUNT(column_name)
:: 조회건수를 리턴한다.
NVL(column_name, 대신할 데이터)
:: 해당 컬럼이 Null일 경우, 대신할 문자나 숫자 등을 대신 사용한다.
DECODE
:: 연속된 조거문이라고 할 수 있는데, 가장 자주 쓰이는 함수 중에 하나이다.
[예] SQL> select DECODE(idx, 10, '가', 20, '나', 30, '다', 40, '라') from dual;
[설명] idx가 10이면 '가'이고, 20이면 '나'이고, 30이면 '다'이고, ...
USERENV
:: 현재 세션의 환경 정보를 반환한다.
ENTRYID : 사용 가능한 Auditing entry Identifier를 반환.
LABEL : 현재 세션의 Label을 반환.
LANGUAGE : 현재 세션에서 사용중인 언어와 테리토리 값을 반환.
SESSIONID : Auditing(감사) Session ID를 반환.
TERMINAL : 현재 세션 터미널의 OS ID를 반환.
GREATEST(n1, n2, n3, ...)
:: 숫자나 문자 아무거나 나열하면 그 중에 가장 큰 값을 반환한다.
LEAST(n1, n2, n3, ...)
:: 숫자나 문자 아무거나 나열하면 그 중에 가장 작은 값을 반환한다.
UID, USER
:: 사용자 ID와 사용자의 OWNER를 돌려준다.
728x90
'DB' 카테고리의 다른 글
데이터유형 (0) | 2012.07.29 |
---|---|
오라클 정보 쿼리 (0) | 2012.07.29 |
Oracle Sequence, Synonym (0) | 2012.07.29 |
Oracle imp / exp (0) | 2012.07.29 |
오라클 테이블변경 (0) | 2012.07.29 |