toggle menu

Oracle 문자 처리 함수 정리

2012.07.09 11:28 Database/Oracle

오라클에서는 일반적인 산술 연산도 가능하다.

SELECT 24*60 FROM DUAL;

DUAL 이라는 테이블은 이러한 계산을 위해 하나의 컬럼만 존재하는 더미 테이블이다.



IS NULL, IS NOT NULL
SQL> SELECT 수강번호, 이름 FROM 수강생 WHERE 연락처 IS NULL;

  수강번호 이름
---------- ----------
       145 지우인
       175 김민재

해당 컬럼이 널인지, 아닌지 여부를 확인한다.






SUBSTR, SUBSTRB

SQL> SELECT 상품명, SUBSTR(상품명, 3, 4), SUBSTRB(상품명, 3, 4) FROM 상품;

상품명               SUBSTR(  SUBS
-------------------- -------- ----
아이폰               폰       이폰
갤럭시               시       럭시
프리에이전트         에이전트 리에
옵티머스             머스     티머
맥북                          북
아이패드             패드     이패

6 개의 행이 선택되었습니다.

SUBSTR(잘라내기 시작할 위치, 위치에서부터 몇글자)
SUBSTRB는 한글을 한글자로 인식하는것이 아닌 2바이트 그대로 인식하게 된다.


INSTR, INSTRB
SQL> SELECT 상품명, INSTR(상품명, '이'), INSTRB(상품명, '이') FROM 상품;

상품명               INSTR(상품명,'이') INSTRB(상품명,'이')
-------------------- ------------------ -------------------
아이폰                                2                   3
갤럭시                                0                   0
프리에이전트                          4                   7
옵티머스                              0                   0
맥북                                  0                   0
아이패드                              2                   3

6 개의 행이 선택되었습니다.


INSTR(컬럼명, '찾는 글자')
찾는 글자가 처음 나타나는 위치를 반환한다.




INSERT, UPDATE, DELETE
SQL> INSERT INTO 수강생 ( 수강번호, 수강과목, 이름 ) VALUES ( 555, '수학', '김도진');

1 개의 행이 만들어졌습니다.

SQL> UPDATE 수강생 SET 연락처='010-3950-7777' WHERE 수강번호=167;

1 행이 갱신되었습니다.

SQL> DELETE FROM 수강생 WHERE 수강과목='수학';

3 행이 삭제되었습니다.




LPAD, RPAD
SQL> SELECT LPAD ('Oracle', 20, '#') FROM DUAL;

LPAD('ORACLE',20,'#'
--------------------
##############Oracle

SQL> SELECT RPAD ('Oracle', 20, '#') FROM DUAL;

RPAD('ORACLE',20,'#'
--------------------
Oracle##############



LTRIM, RTRIM, TRIM

SQL> SELECT LTRIM('  ORACLE  ') AS LTRIM, RTRIM('  ORACLE  ') AS RTRIM, TRIM('  ORACLE  ') AS TRIM
FROM DUAL

LTRIM     RTRIM     TRIM
--------- --------- ------
ORACLE       ORACLE ORACLE 

Database/Oracle 관련 포스팅 더보기