알고리즘/Oracle Database 11g

[Oracle Database 11g] 문자 함수 : Character Functions

알 수 없는 사용자 2018. 2. 3. 19:48

문자 함수 : Character Functions


1) INITCAP() 

 - 첫 자를 대문자로


SELECT name, userid, INITCAP(userid)

FROM   student

WHERE  name = '김영균';



2) LOWER(), UPPER()

 - 모두 소, 대문자로 


SELECT name, userid, LOWER(userid), UPPER(userid)

FROM   student

WHERE  name = '김영균';



3) LENGTH(), LENGTHB() 

 - 문자의 길이, 문자의 바이트 크기를 리턴 


SELECT dname, LENGTH(dname), LENGTHB(dname)

FROM   department;



4) RPAD(), LPAD() 

 - 문자열이 일정한 크기가 되도록 왼쪽 혹은 오른쪽에 문자를 삽입하는 메소드

   RPAD('문자열', '만들 크기', '채울 문자')

   LPAD('문자열', '만들 문자수', '채울 문자')


SELECT position, LPAD(position, 10, '*') lPosition

       ,userid

       ,RPAD(userid,12,'*') rUserID

FROM professor;



5) LTRIM(), RTRIM()

 - 왼쪽 혹은 오른쪽 부터 해당 문자 제거

   LTRIM('문자열', '제거할 문자')

   cf) DUAL 테이블 >> ORACLE에서 테스트를 위해 만든 테이블


SELECT LTRIM('xyxXxyLAST WORD', 'xy')

FROM DUAL; 




6) CONCAT() 

 - 문자열 합치기


SELECT name, position, CONCAT(CONCAT(name, '의 직책은 '),position) AS String

FROM   professor;



7) SUBSTRING() 

 - 문자열 추출

 SUBSTRING('문자열', '시작인덱스', '문자수')


SELECT name, idnum,

       SUBSTR(idnum, 1, 6) birth_date,

       SUBSTR(idnum, 3, 2) birth_mon

FROM   student

WHERE  grade = '1';




8) INSTR() 

 - 지정한 문자의 인덱스 리턴

   INSTR('문자열', '지정 문자')


SELECT dname, INSTR(dname, '과')

FROM   department;