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
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 > 공부' 카테고리의 다른 글