승적이익강 (勝敵而益强)

오라클-문자 관련 함수 정리(내장 문자 함수) 본문

Database

오라클-문자 관련 함수 정리(내장 문자 함수)

그녕이 2008. 9. 19. 12:16

문자 함수
CHR(N)

CHR 함수는 이진 N 값에 해당하는 문자 즉 ascii N 값을 반환한다

SQL> select chr(66) from dual;

C
-
B


concat(char1,char2)

주워진 두 문자열을 합친다 || 연산자와 같다 

SQL> select concat(name,'은 성실하다') name   from wowbbs;

name
----------------
홍길동은 성실하다




length

문자열 길이 구하기

SQL> SELECT length('123456789')  from dual ;

LENGTH('123456789')
-------------------
                  9



substr(문자열,시작위치,문자수)

문자열 구하기 

SQL> SELECT substr('123456789',2,3)  from dual ;

SUB
---
234



initcap(char) 

문자의 첫번째 를 대문자로 변환시킨다

SQL> SELECT init('wowschool')  name FROM DUAL;

name
--------------
Wow school



lower(char) 

모든 문자열을 소문자로 변환시킨다

SQL> SELECT lower('WOWSCHOOL')  name FROM DUAL;

name
--------------
wow school


UPPER(CHAR) 

모든 문자열을 대문자로  변환시킨다

SQL> SELECT lower('wowschoool')  name FROM DUAL;

name
--------------
WOWSCHOOL





replace(문자열,교체대상 문자열, 교체할문자열)

문자열 중 일부 교체 하기 

SQL> SELECT REPLACE('ok wow school' ,'ok','www') " wowschool" FROM DUAL;

 wowschool
--------------
www wow school



rtrim

문자열 트리밍 하기  오른쪽 space 제거

SQL> SELECT Rtrim('  ok wow school     ' ) ,length(Rtrim('  ok wow school     '))   FROM DUAL;

RTRIM('OKWOWSCH LENGTH(RTRIM('OKWOWSCHOOL'))
--------------- ----------------------------
  ok wow school                           15




ltrim

문자열 트리밍 하기  왼쪽 space 제거

SQL> SELECT ltrim('  ok wow school     ' ) ,length(ltrim('  ok wow school     ') )   FROM DUAL;

LTRIM('OKWOWSCHOOL LENGTH(LTRIM('OKWOWSCHOOL'))
------------------ ----------------------------
ok wow school                                18




RPAD 자열 Rpad 하기

SQL>  SELECT RPAD('1234', 10, '0') NAME FROM dual ;

NAME
----------
1234000000

SQL> SELECT RPAD('school', 12, '*') NAME FROM dual ;

NAME
------------
school******


 

lpad 문자열 Lpad 하기

SQL> SELECT LPAD('1234', 10, '0') NAME FROM dual ;

NAME
----------
0000001234

SQL> SELECT LPAD('school', 12, '*') NAME FROM dual ;

NAME
------------
******school


NLS_INITCAP() initcap 동일 하고 다국어지원

SELECT NLS_INITCAP  (’ijsland’) "InitCap" FROM DUAL;
InitCap
-------
Ijsland


SELECT NLS_INITCAP(’ijsland’, ’NLS_SORT = XDutch’) "InitCap" FROM DUAL;
InitCap
-------
IJsland



NLS_LOWER() LOWER 동일 하고 다국어지원

SELECT NLS_LOWER (’CITTA’’’, ’NLS_SORT = XGerman’) "Lowercase" FROM DUAL;
Lower
-----
cittá



NLS_UPPER() UPPER 동일 하고 다국어지원

SELECT NLS_UPPER (’große’, ’NLS_SORT = XGerman’) "Uppercase" FROM DUAL;
Upper
-----
GROSS



DECODE

decode 함수를 이용하여  문자열을 리턴 한다
DECODE(expression,value1,return1,value2,return2..............
               valueN,returnN,default_return_valeu)

select decode(name,'홍길동','의적','홍수환','참피언','차두리','축구선수','사람');



함수명 설명
initcap 각단어의 첫번째 문자를 대문자로 변환시킨다
lower 모든 문자를 소문자로 변환시킨다
upper 모든 문자를 대문자로 변환시킨다
ASCII

문자열을 ASCII 수치값으로 변환 시킨다
SQL> select ASCII('a') from dual;
ASCII('A')
----------
        97

instr

문자열에서 패턴의 어커런스를 찾아낸다
SQL> select instr('wowschool 죽인다','ch') from dual;

INSTR('WOWSCHOOL죽인다','CH')
-----------------------------
                            5

concat

두 문자열을  결합한다 || 같은 기능을 한다
SQL> select concat('wow','school') from dual;

CONCAT('W
---------
wowschool

'Database' 카테고리의 다른 글

오라클 9i 양쪽 outer join  (0) 2008.09.19
오라클 - 산술함수,문자열함수,날짜함수,그룹함수  (0) 2008.09.19
열을 행으로 변환  (0) 2008.09.19
25가지 SQL작성법  (0) 2008.09.19
오라클팁  (0) 2008.09.19
Comments