cbw1030
기록하는 공간
cbw1030
전체 방문자
오늘
어제
  • 전체보기 (101)
    • Programming (99)
      • Java (19)
      • Servlet (10)
      • Spring Framework (13)
      • Javascript (22)
      • AWS (2)
      • 네트워크 (8)
      • 데이터베이스 (13)
      • 리눅스 (3)
      • 블록체인 (7)
      • 용어 정리 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • react
  • 머신러닝
  • 브라이틱스 스튜디오 사용법
  • 브라이틱스
  • 데이터분석
  • Brightics AI
  • 브라이틱스 튜토리얼
  • 인공지능
  • Brightics Studio
  • 생활코딩
  • 삼성SDS 브라이틱스
  • 데이터 사이언스
  • web
  • 삼성SDS
  • beautifulsoup
  • Brightics
  • 브라이틱스 스튜디오
  • 크롤링
  • 차원축소

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
cbw1030

기록하는 공간

[오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)
Programming/데이터베이스

[오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)

2019. 10. 13. 09:54
반응형

https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다.

 

문자열 내장 함수에 대해 다뤄보겠습니다.

 

[ SUBSTR ]

- 문자열을 원하는 길이만큼 슬라이싱이 가능하다.

 

* SELECT SUBSTR('HELLO', 3) FROM DUAL;

  • 'HELLO'를 3번째 문자열부터 자른다.

  • 'LLO' 출력

* SELECT SUBSTR('HELLO', 1, 3) FROM DUAL;

  • 'HELLO'를 1번째부터 3개만 자른다.

  • 'HEL' 출력

* SELECT SUBSTRB('HELLO', 3) FROM DUAL;

  • SUBSTRB의 B는 byte를 의미한다. 3번째 바이트부터 자른다.

  • 영어는 문자 하나당 1바이트이고 3번째 바이트부터 자르므로 'LLO' 출력

EX1) 모든 학생의 이름과 출생 월만을 조회하시오. (테이블명은 MEMBERS라 가정, BIRTHDAY는 950101이라 가정)

SELECT NAME, SUBSTR(BIRTHDAY, 3, 2) FROM MEMBERS;

EX2) 학생 중에서 전화번호가 011으로 시작하는 학생의 모든 정보를 출력하시오.

SELECT * FROM MEMBERS WHERE SUBSTR(PHONE, 1, 3) = '011';
SELECT * FROM MEMBERS WHERE PHONE LIKE '011%';

EX3) 학생 중에서 생년 월이 7,8,9월인 학생의 모든 정보를 출력하시오.

SELECT * FROM MEMBERS WHERE SUBSTR(BIRTHDAY, 3, 2) IN ('07', '08', '09'); 

EX4) 전화번호를 등록하지 않은 학생 중에서 생년 월이 7,8,9월인 학생의 모든 정보를 출력하시오.

SELECT * FROM MEMBERS WHERE PHONE IS NULL AND SUBSTR(BIRTHDAY, 3, 2) IN ('07', '08', '09');

 

 

 

[ CONCAT ]

- 문자열을 덧셈할 수 있다.

 

* SELECT CONCAT('홍', '길동') FROM DUAL;

그런데 문자열 덧셈 함수를 사용하는 것보다는 문자열 연산을 직접하는 것이 더 빠르다.

 

* SELECT 3 || '4' FROM DUAL;

 

 

 

[ TRIM, LTRIM, RTRIM ]

빈 공백을 없애는 함수이다.

 

* SELECT LTRIM('  HELLO  ') FROM DUAL;

  • 좌측 공백을 없애주는 함수이다.

  • 'HELLO   ' 출력

* SELECT RTRIM('  HELLO  ') FROM DUAL;

  • 우측 공백을 없애주는 함수이다.

  • '   HELLO' 출력

* SELECT TRIM('  HELLO  ') FROM DUAL;

  • 좌, 우측 모든 공백을 없애주는 함수이다.

  • 'HELLO' 출력

 

 

[ LOWER, UPPER ]

- 문자열을 소문자 또는 대문자로 변경 가능하다.

 

* SELECT LOWER('HeLlO') FROM DUAL;

  • 'hello' 출력

* SELECT UPPER('HeLlO')  FROM DUAL;

  • 'HELLO' 출력

 

 

[ REPLACE, TRANSLATE ]

- REPLACE는 문자열을 문자열로 바꿔준다. (문자열, 찾는 문자열, 대치할 문자열)

- TRANSLATE는 문자열을 문자 하나하나 매칭해서 바꿔준다.

 

* SELECT REPLACE('WHERE WE ARE', 'WE', 'YOU') FROM DUAL;

  • 'WHERE YOU ARE' 출력

* SELECT TRANSLATE('WHERE WE ARE', 'WE', 'YOU') FROM DUAL;

  • 'W'는 'Y'로 바꿔준다.
  • 'E'는 'O'로 바꿔준다.
  • 'U'는 아무 의미가 없다.
  • 'YHORO YO ARO' 출력

EX1) 회원의 이름과 주소를 조회하시오.(단, 주소는 빈칸 없이 출력하시오.)

SELECT NAME, REPLACE(ADDRESS, ' ', '') FROM STUDENTS;

 

반응형
저작자표시 (새창열림)

'Programming > 데이터베이스' 카테고리의 다른 글

[오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)  (0) 2019.10.13
[오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)  (2) 2019.10.13
[오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)  (0) 2019.10.13
[오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)  (0) 2019.10.13
[데이터베이스] DML, DDL, DCL이란?  (0) 2019.10.13
    'Programming/데이터베이스' 카테고리의 다른 글
    • [오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)
    • [오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)
    • [오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)
    • [데이터베이스] DML, DDL, DCL이란?
    cbw1030
    cbw1030

    티스토리툴바