본문 바로가기

IT 이야기/데이터베이스(DB)

오라클 함수 정리 2

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


오라클 함수 문자함수 정리

오라클에서 지원하는 함수들을 정리해 봤습니다. 

문자 관련 함수 입니다.


 - INITCAP(char): char의 첫문자(공백과 숫자를 제외한 알파벳 중 첫문자)만 대문자, 나머지는 소문자로 변환

ex)

select INITCAP('hello 123 hi 011 abc')    AS  "INITCAP('hello 123 hi 011 abc')"

from dual

결과)

Hello 123 Hi 011 Abc


 - LOWER(char): char을 소문자로 변환

ex)

select LOWER('Hello 123 hI 011 aBc')    AS  "LOWER('Hello 123 hI 011 aBc')"

from dual

결과)

hello 123 hi 011 abc

 - UPPER(char): char을 대문자로 변환

ex)

select UPPER('Hello 123 hI 011 aBc')    AS  "UPPER('Hello 123 hI 011 aBc')"

from dual

결과)

HELLO 123 HI 011 ABC

 - CONCAT(char1, char2): char1과 char2를 붙여준다

ex)

select CONCAT('Hello 123',' hI 011 aBc')    AS  "CONCAT"

from dual

결과)

Hello 123 hI 011 aBc

 - SUBSTR(char, pos, len): char의 pos번째 문자부터 len길이만큼 잘라서 반환(문자열 자르기)

ex)

select SUBSTR('안녕 123 hI 011 aBc', 10)    AS  "SUBSTR"

from dual

결과)

 011 aBc

 - SUBSTRB(char, pos, len): SUBSTR과 같음. 다만 len의 기준이 byte수임.

ex)

select SUBSTRB('안녕 123 hI 011 aBc', 10)    AS  "SUBSTRB"

from dual

결과)

3 hI 011 aBc

 - LTRIM(char1): char1의 좌측 공백을 삭제후 반환

ex)

select LTRIM('   안녕 123 hI 011 aBc   ')    AS  "LTRIM"
from dual

결과)

안녕 123 hI 011 aBc   

 - LTRIM(char1, char2): char1의 좌측부터 char2를 찾아서 삭제후 반환 (1번만 삭제한다)

ex)

select LTRIM('   안녕 123 hI 011 aBc   ', ' 안')    AS  "LTRIM"

from dual


결과)

녕 123 hI 011 aBc   

 - RTRIM(char1): LTRIM과 비슷. 오른쪽 공백을 삭제후 반환

ex)

select RTRIM('   안녕 123 hI 011 aBc   ')    AS  "RTRIM"
from dual

결과)

   안녕 123 hI 011 aBc

 - RTRIM(char1, char2): LTRIM과 비슷. char1의 오픈쪽부터 char2를 찾아서 삭제후 반환 (1번만 삭제한


ex)

select RTRIM('   안녕 123 hI 011 aBc', 'c')    AS  "RTRIM"

from dual

결과)

   안녕 123 hI 011 aB


 - LPAD(char1, n): char1의 왼쪽부터 공백을 채운다. n은 연산 후 총 문자열 자릿수를 의미한다.

ex)

select LPAD('A', 15 )    AS  "LPAD"

from dual

결과)
              A

 - LPAD(char1, n ,char2): char1의 왼쪽부터 char2를 채운다. n은 연산 후 총 문자열 자릿수를 의미한다.

ex)

select LPAD('A', 15 ,'*')    AS  "LPAD"

from dual

결과)
**************A

 - RPAD(char1, n ,char2): char1의  공백을 삭제후 반환

ex)


select RPAD('A', 15 )    AS  "RPAD"
from dual

결과)

A

 - RPAD(char1, n ,char2): char1의  char2를채운다

ex)

select RPAD('A', 15 ,'*')    AS  "RPAD"
from dual

결과)

A**************

 - REPLACE(char1, char2, char3): char1에서 char2를 찾아 char3을 반환한다. LTRIM과 달리 여러번을 진행한다.

ex)


select REPLACE('hello 1212 hi', 'h' ,'z')    AS  "REPLACE"
from dual

결과)

zello 1212 zi

 - LENGTH(char): char의 길이를 반환

ex)

select LENGTH('hello 안녕hi')    AS  "LENGTH"
from dual

결과)

11

 - LENGTHB(char): char의 Byte길이를 반환

ex)

select LENGTHB('hello 안녕 hi')    AS  "LENGTHB"
from dual

결과)

15

 - DECODE(input1, search1, result1, search2, result2, ..., ..., default): input1을 search1과 비교하여 같은 값이면 result1을 반환하고, 같지 않을 경우 search2를 비교하는 방식을 반복한다. 최종적으로 같은 값이 없으면 default를 반환한다.

ex)
select DECODE('h', 'h', '1', 'c', '2', '3')    AS  "DECODE"
from dual

결과)

1

ex)
select DECODE('c', 'h', '1', 'c', '2', '3')    AS  "DECODE"
from dual

결과)

2

ex)
select DECODE('z', 'h', '1', 'c', '2', '3')    AS  "DECODE"
from dual

결과)

3


'IT 이야기 > 데이터베이스(DB)' 카테고리의 다른 글

오라클 함수 정리 4  (0) 2017.03.03
오라클 함수 정리 3  (0) 2017.03.03
오라클 함수 정리 1  (0) 2017.03.02
SQLGate for Oracle  (0) 2017.02.20
ORA-00942  (0) 2016.01.06