유가엘
개발일지
유가엘
전체 방문자
오늘
어제
  • 분류 전체보기 (107)
    • Solution (16)
      • EAI (11)
      • Concept (1)
      • webMethods (4)
    • Language (20)
      • Java (20)
    • DataBase (19)
      • Oracle (18)
    • Web Programming (38)
      • JSP (11)
      • Spring (10)
      • Project (17)
    • 협업도구 (8)
      • Git (8)
    • IT (6)
      • ETC (4)
      • 정보처리기사 (1)
      • Android (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
유가엘

개발일지

DataBase/Oracle

4. Oracle 문자열 함수

2020. 3. 25. 15:41

3_STRING_FUNCTION.sql
0.00MB

CONCAT(A,B)

문자열 A,B를 연결 ||도 사용 가능 합니다.

SELECT CONCAT('HELLO','SQL'),CONCAT('GOOD','BYE')FROM DUAL; 
SELECT CONCAT('HELLO','SQL'), 'GOOD'||'BYE' FROM DUAL; 


INITCAP(A)

문자열 A의 첫글자를 대문자로 변환 합니다. 구분자가 들어가게 되면 첫글자로 인식합니다.

SELECT INITCAP('hello world')FROM DUAL; 
SELECT INITCAP('hello/bye world')FROM DUAL; 


LOWER(A)

문자열 A를 소문자로 출력합니다.

SELECT LOWER('HELLOWWORLD') FROM DUAL; 


UPPER(A)

문자열 A를 대문자로 출력합니다.

SELECT UPPER('helloworld') FROM DUAL; 


LPAD(A,B)

문자열 A를 B만큼 채웁니다. 미 출력 부분은 공백으로 좌측부터 채우게 됩니다.
주의사항으로는 문자열이 한글일 경우 ,2Bytes를 차지하게 되며 , 입력한 B만큼 공백을 채우지 못할 수도 있습니다.

SELECT LPAD('HELLO',8), LPAD('HELLO',7,'#'),LPAD('HELLO',7,'K') FROM DUAL; 


RPAD(A,B)

문자열 A를 B만큼 채웁니다. 미 출력 부분은 공백으로 우측부터 채우게 됩니다.

SELECT RPAD('HELLO',8), RPAD('HELLO',7,'#'),RPAD('HELLO',7,'K') FROM DUAL; 


LTRIM(A,B)

문자열 A의 왼쪽부터 시작하여 B와 일치하는 글자가 있으면 삭제합니다.

SELECT LTRIM('BYE','B'),LTRIM('GOODBYE','O'),LTRIM('GOODBYE','GO') FROM DUAL; 


RTRIM(A,B)

문자열 A의 오른쪽부터 시작하여 B와 일치하는 글자가 있으면 삭제합니다.

SELECT RTRIM('BYE','B'),RTRIM('GOODBYE','O'),RTRIM('GOODBYE','GO') FROM DUAL; 

TRIM(A)

문자열 A가 옵션에 따라 공백이 제거 됩니다. LEADING 왼쪽, TRAILING 오른쪽, BOTH 양쪽*/ 

SELECT LENGTH(TRIM(LEADING FROM '  HELLO  '))FROM DUAL; 
SELECT LENGTH(TRIM(TRAILING FROM '  HELLO  '))FROM DUAL; 
SELECT LENGTH(TRIM(BOTH FROM '  HELLO  '))FROM DUAL; 
SELECT LENGTH(TRIM(LEADING 'H' FROM 'HELLO'))FROM DUAL; -- 공백이 아닌 문자를 지울경우 FROM 전에 선언해주어야 합니다. 


SUBSTR(A,B,C)

문자열 A에서 B부터 C까지 잘라내어 출력합니다. 공백포함
C가 없다면 B부터 마지막까지 출력합니다.  (-)음수가 입력된다면 오른쪽부터 숫자를 카운트합니다.
C가 0인경우 길이가 0 이므로 NULL 값을 반환합니다.

SELECT SUBSTR('GOOD MORNING',2,4)FROM DUAL; 
SELECT SUBSTR('GOOD MORNING',2)FROM DUAL; 
SELECT SUBSTR('GOOD MORNING',-4)FROM DUAL; 
SELECT SUBSTR('GOOD MORNING',-4,2)FROM DUAL; 
SELECT SUBSTR('GOOD MORNING',-4,0)FROM DUAL;


SUBSTRB(A,B,C)

문자열 A에서 B부터 C까지 잘라내어 출력합니다. 공백포함
SUBSTR 과 비슷하지만, BYTE로 문자를 구분합니다. 값이 영어일경우 1BYTE이므로 문제가 없지만
한글인 경우 2BYTES 를 가지므로 문제가 발생 할 수 있습니다.

SELECT SUBSTRB('GOOD MORNING',2,4)FROM DUAL;


REPLACE(A,B,C)

문자열 A에서 B를 찾은 후 C 로 변환합니다.

SELECT REPLACE('GOOD MORNING','MORNING','EVENING')FROM DUAL; 

 

TRANSLATE(A,B,C)

문자열 A에서 B와 C가 1:1 대응 하여 변환합니다. H -> Y 로 E 는 ->O로

SELECT TRANSLATE('HELLO SQL','HE','YO')FROM DUAL; 

ASCII(A)

문자열 A를 인코딩 방식 ASCII 로 출력해줍니다.

SELECT ASCII('A') FROM DUAL; 

 

INSTR(A,B,C)

문자열 A에서 B문자를 검색합니다. 만약 중복된 문자가 있다면 C에서 순서를 정할 수 있습니다.

SELECT INSTR('HELLOW SQL','O',1)FROM DUAL; 

 

LENGTH(A)

문자열 A의 길이를 반환합니다. - 공백도 길이에 포함됩니다.

SELECT LENGTH('HELLO SQL')FROM DUAL; 
저작자표시 비영리 변경금지 (새창열림)

'DataBase > Oracle' 카테고리의 다른 글

6. Oracle GroupBy, Having 절  (0) 2020.03.25
5. Oracle 날짜 함수  (0) 2020.03.25
3. Oracle 집계함수, 숫자함수  (0) 2020.03.25
2. Oracle Select  (0) 2020.03.25
1. Oracle 설치 및 개발 환경구축  (0) 2020.03.11
    'DataBase/Oracle' 카테고리의 다른 글
    • 6. Oracle GroupBy, Having 절
    • 5. Oracle 날짜 함수
    • 3. Oracle 집계함수, 숫자함수
    • 2. Oracle Select
    유가엘
    유가엘

    티스토리툴바