2016년 1월 24일 일요일

[oracle]함수(문자열함수)

함수란 : 처리의 절차를 순서적으로 기술하여 프로그램을 작성하나 공통적으로 사용하는
동일한 처리 수순을 사전에 준비해 놓고 프로그램 작성시 변수에 해당하는 데이터를 정의 하여 원하는 결과를 얻을수 있도록 한 루틴 을 말한다.

단일행 함수

- 문자형 함수
- 숫자형 함수
- 날짜형 함수
- 데이터변환 함수

복수행 함수

- 변환(그룹) 함수,
- 분석


문자형 함수

LOWER(str) : 소문자로 변환

예) select upper(order_id) from ec_order;

결과)
USKO
SUPARK
SUPARK
IMJUNG
USKANG

UPPER(str) : 대문자로 변환

예)  select lower(order_id) from ec_order;

결과)
usko
supark
supark
imjung
uskang

INITCAP : 단어의 첫문자만 대문자로 변환

예)  select INITCAP (order_id) from ec_order;

결과)
Usko
Supark
Supark
Imjung
Uskang

LENGTH() : 문자열 길이 반환

예)select length(order_id) from ec_order;

결과)

4
6
6
6
6

LENGTHB : 문자열이 길이를 바이트로 계산

예)select lengthb(order_id) from ec_order;

결과)
4
6
6
6
6

INSTR(str, c, p, n) : 특정문자의 위치 계산

예) select order_id, instr(order_id,'ko') from ec_order;

결과)
usko 3
supark 0
supark 0
imjung 0
uskang 0

* 'ko' 를 포함하지 않을 경우 0 즉, false 값을 반환한다.
* 반환하는 특정 문자열 순서는 0 이 아닌 1부터 시작한다.



SUBSTR(str, p, n) : 해당 위치에서 특정 문자열 추출

예)select order_id, substr(order_id, 1, 2) from ec_order;

결과)
usko us
supark su
supark su
imjung im
uskang us



CONCAT(str1,str2) : 문자 열 결합

예)select order_id, concat(order_id, ' 님') "아이디" from ec_order;

결과)
usko usko 님
supark supark 님
supark supark 님
imjung imjung 님
uskang uskang 님

TRIM(str, '문자열') : 특정 문자 제거

예)select order_id, replace(order_id, 'u','') from ec_order;
결과)
usko sko
supark spark
supark spark
imjung imjng
uskang skang

* u글자를 추출하여 공백으로 변환하였다.

LPAD(str, n ,'문자열')  or RPAD(str, n ,'문자열'): 문자열에 특정문자 추가

예)select order_id , lpad(order_id,7,'123') from ec_order;
결과)
usko 123usko
supark 1supark
supark 1supark
imjung 1imjung
uskang 1uskang

예)select order_id , rpad(order_id,20,'123') from ec_order;

결과)
usko usko1231231231231231
supark supark12312312312312
supark supark12312312312312
imjung imjung12312312312312
uskang uskang12312312312312

*RPAD 와 LPAD 는 특이한 성질이 있다. 
먼저 가져온 데이터의 길이를 왼쪽에서 부터 입력된 두번째 인자의 갯수 많큼 자른다.
그후 변형된 문자의 왼쪽 또는 오른쪽에 세번째 입력된 문자열이 추가가 되는데
두번째 입력된 문자열 길이보다 추출된 문자열의 길이가 클경우 세번째 문자열은 추가가 되지 않고 잘린채로 표현되며 가져온 문자열의 길이와 추가된 문자열의 길이의 합이 표현범위 즉, 두번째 인자값 보다 작을경우 추가되는 문자열이 반복되며 자리수를 맞춰서 출력된다.




REPLACE(str, '문자열','변환될 문자열') : 문자열의 일부분을 특정 문자열로 변환

예)select order_id, replace (order_id, 'u', 'U') from ec_order;

결과)
usko Usko
supark sUpark
supark sUpark
imjung imjUng
uskang Uskang

댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1