2010년 2월 2일 화요일

자주 사용하는 SQL 함수

1. 자주 사용하는 문자열 함수

 

구분

문자형 함수

사용 목적

대소문자
전환함수

LOWER(문자열)

문자열의 알파벳 문자를 소문자로 바꾸어 준다.

UPPER(문자열)

문자열의 알파벳 문자를 대문자로 바꾸어 준다.

INITCAP(문자열)

문자열에서 각 단어의 첫 글자를 대문자로, 모든 다른 문자는 소문자로 만들어 준다.

문자
조작함수

CONCAT(문자열1, 문자열2)

문자열1과 문자열2을 연결합니다.
연결연산자(||)와 동일하다.

SUBSTR(문자열, m[, n ] )

문자열 중 m위치에서 n개의 문자길이에 해당하는 문자를 돌려준다.
n이 생략되면 마지막 문자까지이다.

LENGTH(문자열)

문자열의 개수를 값으로 돌려준다.

LTRIM(문자열 [, 지정문자] )

문자열의 첫 문자부터 확인해서 지정문자가 나타나는 동안 해당문자를 제거한다.

(지정문자가 생략되면 공백 값이 디폴트)

RTRIM(문자열 [, 지정문자 ] )

문자열의 마지막 문자부터 확인해서 지정문자가 나타나는 동안 해당문자를 제거한다.

(지정문자가 생략되면 공백 값이 디폴트)

TRIM( [leading | trailing | both ]
지정문자 FROM 문자열 )

문자열에서 머리말, 꼬리말, 또는 양쪽에 있는 지정문자를 제거한다.

( leading | trailing | both가 생략되면 both값이 디폴트)

LPAD(문자열1, n [, 문자열2 ] )

문자열1의 왼쪽에 문자열2를 덧붙여서
전체가 n개의 문자가 되도록 한다.
문자열2가 생략되면 공백으로 채워진다.

RPAD(문자열1, n [, 문자열2 ] )

문자열1의 오른쪽에 문자열2를 덧붙여서 전체가 n개의 문자가 되도록 한다.
문자열2가 생략되면 공백으로 채워진다.

INSTR
(
문자열1, 문자열2[, n[, m] ] )

문자열1에서 n번째 문자부터 문자열2가
m번째 나타나는 위치를 돌려준다.
n,m이 생략되면 디폴트 값은 1이다.

TRANSLATE
(
문자열1,문자열2,문자열3)

문자열1 중에서 문자열2를 문자열3으로 교체한다.

REPLACE
(
문자열1,문자열2[,문자열3])

문자열1에서 문자열2를 찾아서 문자열3으로 교체한다. 문자열3이 생략되면 문자열2가 제거된다.

 

 

 

2. 자주 사용하는 날짜 함수

 

날짜형 함수

사용 목적

SYSDATE

현재 날짜와 시각

ADD_MONTHS(날짜, n)

날짜에 n개월을 더 한 날짜 (n은 정수이어야 함)

MONTHS_BETWEEN(날짜1, 날짜2)

날짜1과 날짜2 사이의 월수를 돌려주며 양수, 음수도 가능하다.

NEXT_DAY(날짜,'요일')

날짜 다음의 해당 주('요일')의 다음 날짜를 돌려준다.
요일은 날 또는 문자 스트링을 나타내는 숫자이다.

LAST_DAY(날짜)

현재 날짜를 포함하고 있는 달의 마지막 날을 돌려 준다.

ROUND(날짜 [, 'FORMAT'] )

어떤 FORMAT이 생략되면 자정까지 시간설정과 함께 날짜를 돌려준다. 다른 시간을 갖고 있는 날짜 비교시 사용된다.

TRUNC(날짜 [, 'FORMAT'] )

어떤 FORMAT이 생략되면 날짜에 포함되어 있는 달의 번째 날을 돌려준다. 날짜의 시간부분을 제거할 때 사용된다.

 

날짜형 함수 사용

결과 값 및 설명

SYSDATE

'03-OCT-02' → 2002년 10월 3일을 의미

ADD_MONTHS('01-OCT-02', 3)

'01-JAN-03'

MONTHS_BETWEEN('03-JAN-01','03-NOV-02')
MONTHS_BETWEEN(SYSDATE,'01-NOV-02')

-22


-.92054137

 

NEXT_DAY('03-OCT-02','MON')
NEXT_DAY('03-OCT-02',1)

'07-OCT-02'
'06-OCT-02'

LAST_DAY('02-OCT-02')

'31-OCT-02'

ROUND(SYSDATE,'MONTH')
ROUND(SYSDATE,'YEAR')
ROUND('03-OCT-02'.'MONTH')

'01-OCT-02'
'01-JAN-03'
에러 : 날짜가 인자로 오지 않아서 에러가 발생함.변환형 함수를 사용해야 함.

TRUNC(SYSDATE,'MONTH')
TRUNC(SYSDATE,'YEAR')
TRUNC('03-OCT-02'.'MONTH')

 

'01-OCT-02'
'01-JAN-02'
에러 : 날짜가 인자로 오지 않아서 에러가 발생함.
변환형 함수를 사용해야 함.

 

 

 

3. 자주 사용하는 숫자형 함수

 

숫자형 함수

사용 목적

ABS(숫자)

숫자의 절대값을 돌려준다.

MOD(숫자1, 숫자2)

숫자1을 숫자2로 나누어 나머지 값을 돌려준다.

SIGN(숫자)

숫자가 양수인지, 음수인지 0 인지를 구별한다.

CEIL(숫자)

숫자보다 크거나 같은 최소정수를 돌려준다.

FLOOR(숫자)

숫자보다 작거나 같은 최대정수를 돌려준다.

ROUND(숫자 [, m ] )

숫자를 소수점 m자리에서 반올림하여 돌려준다.
m
이 생략되면 디폴트 값은 0 이다.

TRUNC(숫자 [, m] )

숫자를 소수 m자리에서 잘라서 버린다.
m
이 생략되면 디폴트 값은 0 이다.

SIN, COS, TAN,...

숫자의 삼각함수 값을 돌려준다.

 

숫자형 함수 사용

결과 값 및 설명

ABS(-15)

15

MOD(7, 2)

1

SIGN(-281.1)
SIGN(0)

-1
0
→ 양수이면 1을 음수이면 -1을 0 이면 0을 리턴한다.

CEIL(38.123)
CEIL(-28.123)

39
-28

FLOOR(38.123)
FLOOR(-28.123)

38
-29

ROUND(38.5255, 3)
ROUND(38.5255,-1)
ROUND(-38.5235, 3)
ROUND(-38.523)

38.526
40
-38.524
-39

TRUNC(38.1255, 3)
TRUNC(-38.1235, 3)
TRUNC(-38.123)

38.125
-38.123
-38

SIN(30)
COS(30)
TAN(30)

-.9880316
.15425145
-6.405331

 

댓글 없음:

댓글 쓰기