SQL - 함수

upper - 대문자로 출력하는 함수
select upper('Never, give up!!') from dual;

결과 : NEVER, GIVE UP!!


lower - 소문자로 출력하는 함수

select upper('Never, give up!!') from dual;

결과 : never, give up!!


initcap - 앞글자만 대문자로 출력하는 함수

select upper('Never, give up!!') from dual;

결과 : Never, Give Up!!


concat - 연결해서 출력

SQL> select concat(ename, sal)
  2   from emp;

CONCAT(ENAME,SAL) 
--------------------
SMITH800
ALLEN1600
WARD1250
.......


substr - 문자의 구간을 정해서 출력하는 함수

select substr('SMITH', 1, 3) from dual;

결과 : SMI

앞에는 문자열, 두번째는 시작위치(~부터), 세번째는 끝위치(~까지)


length - 문자열의 길이를 출력하는 함수

SQL> select ename, length(ename)
  2   from emp;

ENAME      LENGTH(ENAME)
---------- -------------
SMITH                  5
ALLEN                  5
.......


instr - 해당 문자열의 첫 위치를 출력하는 함수

select instr('Never, give up!!', 'v') from dual;

결과 : 3


lpad - 길이를 정하고 지정한 문자로 왼쪽 빈 공백을 채워주는 함수

select ename, lpad(sal, 10, '*') from emp;

ENAME LPAD(SAL,10,'*')
-------------------------
SMITH *******800
ALLEN ******1600
WARD ******1250
.......

lpad('abc', 10, '*') 이렇게 하면
두번째의 10은 원하는 길이, 세번째의 * 는 채울 문자
abc를 오른쪽으로 밀고 빈 공간(10-3=7)만큼  왼쪽에 * 를 채운다.
*******abc

rpad는 lpad 와 반대다.


trim - 공백을 제거해서 출력하는 함수

공백을 언더바('_') 로 표현해서 보면

'ABC' 라는 문자와  'ABC__________' 문자를 비교하면 다르다.
'ABC 와 trim('ABC__________') 을 비교하면 같다.

Never,_give_up!!  이처럼 문자 사이의 들어간 것은 trim 이 제거하지 않는다.


replace - 해당문자를 다른문자로 대체해서 출력하는 함수

select ename, replace(sal, 0, '*')
 from emp;

ENAME REPLACE(SAL,0,'*')
----------------------------
SMITH 8**
ALLEN 16**
.......

replace('ABABA', 'B', 'A') 이것을 보면
'ABABA' 에서 'B'를 'A' 로 바꿔서 출력하라는 것이다.
결과는 AAAAA 이다.


round - 반올림 함수

round(숫자, 자릿수) 로 표현하는데 쉽게 말해서
해당숫자를 해당 자릿수까지 보고싶으니까 그 뒤에서 반올림해라라는 말이다.
예를 들어서,
 select round(53.64, 0) from dual; :  54
 select round(53.64, 1) from dual; :  53.6
 select round(53.64, 2) from dual; :  53.64

0(소수점) 을 기준으로 오른쪽으로 가면 1증가, 왼쪽으로 가면 1감소다.
위에까지는 양수의 경우이고,
음수일 경우에는
해당 자릿수에서 바로 반올림을 하게된다.
예를 들면,
 select round(53.64, -1) from dual; : 50
 select round(53.64, -2) from dual; : 100

-1 일 때는 3에서 반올림, -2일때는 5에서 반올림한 결과다.


mod - 나머지 값을 출력하는 함수

 select mod(10,3)  from dual;  : 1

10 / 3 = 3 하고 나머지 1 , 그래서 1을 출력하게 된다.

휴~ 다음에 계속!!!

'SQL > 공부' 카테고리의 다른 글

SQL - 조인  (0) 2007.12.07
SQL 함수3  (2) 2007.11.29
SQL 함수2  (0) 2007.11.29
SQL 2강  (0) 2007.11.23
SQL 1강  (0) 2007.11.23