본문 바로가기
Oracle(DB관련)

문자함수

by xfree302 2009. 11. 4.
반응형

문자함수

1. INSTR - 문자열에서 문자가 위치하는 첫 번째 자리 수 반환
INSTR(컬럼OR문자열, 문자)

SELECT INSTR('ABC좋은나라DEF웃긴나라','D'), INSTR('ABC좋은나라DEF웃긴나라','나')
FROM DUAL;

INSTR('ABC좋은나라DEF웃긴나라','D') INSTR('ABC좋은나라DEF웃긴나라','나')
-----------------------------------  ------------------------------------
                                  8                                             6

INSTRB? - 한글 한 문자를 2bytes 인식함

SELECT INSTR('ABC좋은나라DEF웃긴나라','나', 1, 2)
FROM DUAL;

INSTR('ABC좋은나라DEF웃긴나라','나',1,2)
----------------------------------------
                     13

2. SUBSTR
SUBSTR(컬럼OR문자열, 숫자1, 숫자2)

SELECT SUBSTR('ABC좋은나라DEF웃긴나라',2,10) FROM DUAL;

SUBSTR('ABC좋은
---------------
BC좋은나라DEF웃

SUBSTRB?

SELECT SUBSTR('ABC좋은나라DEF웃긴나라',4,4),  SUBSTRB('ABC좋은나라DEF웃긴나라',4,8)
FROM DUAL;

SUBSTR(' SUBSTRB(
-------  --------
좋은나라 좋은나라

뒤에서부터 읽어올려면?

SELECT SUBSTR('ABC좋은나라DEF웃긴나라',-4,2) FROM DUAL;

SUBS
----
웃긴


3. LENGTH
LENGTH(컬럼OR문자열)

SELECT LENGTH('ABC좋은나라DEF웃긴나라'),  LENGTHB('ABC좋은나라DEF웃긴나라')
FROM DUAL;

LENGTH('ABC좋은나라DEF웃긴나라') LENGTHB('ABC좋은나라DEF웃긴나라')
--------------------------------  ---------------------------------
                        14                                            22


4. LPAD
LPAD(컬럼OR문자열, 숫자1, 문자)

SELECT LPAD(DEPT_NAME, 10, '*') FROM TDEPT;

LPAD(DEPT_NAME,10,'*
--------------------
**경영지원
******재무
******총무
**기술지원
***H/W지원
***S/W지원
******영업
**영업기획
*****영업1
*****영업2

(바이트 단위 지원)


5. RPAD
SELECT RPAD(DEPT_NAME, 10, '*') FROM TDEPT;

RPAD(DEPT_NAME,10,'*
--------------------
경영지원**
재무******
총무******
기술지원**
H/W지원***
S/W지원***
영업******
영업기획**
영업1*****
영업2****


6. REPLACE
REPLACE(컬럼OR문자열, 문자[열]1, 문자[열]2)

SELECT REPLACE('ABC좋은나라DEF웃긴나라','나라','**') FROM DUAL;

REPLACE('ABC좋은나
------------------
ABC좋은**DEF웃긴**



7. CHR, ASCII

SELECT CHR(65), ASCII('A') FROM DUAL;

C ASCII('A')
- ----------
A         65


8. RTRIM
-정의된 문자의 오른쪽부터 지정된 단어가 발견되면 제거함

SELECT RTRIM('ABC좋은나라DEF웃긴나라','나라') FROM DUAL ;

RTRIM('ABC좋은나라
------------------
ABC좋은나라DEF웃긴


9. CONCAT

SELECT CONCAT('좋은', '나라') FROM DUAL;

CONCAT('
--------
좋은나라


10. INITCAP
정의된 문장 단어의 첫 번째 문자를 대문자로 변환

SELECT INITCAP( 'happy day') FROM DUAL;

INITCAP('
---------
Happy Day


11. UPPER, LOWER

SELECT UPPER('a'), LOWER('A') FROM DUAL;

UPPER('a')  LOWER('A')
----------- ------------
       A                 a


 

반응형

'Oracle(DB관련)' 카테고리의 다른 글

오라클 암호화  (0) 2010.04.22
숫자함수  (0) 2009.11.04
날짜함수  (0) 2009.11.04
그룹별 합계, 누적합계 sum()  (0) 2009.11.04
순서정하기 rank()  (0) 2009.11.04