| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- JavaScript
- BACK-END
- oracle
- 코드테스트
- jsp
- jpa
- 디자인 패턴
- 스프링부트
- node.js
- 데이터베이스
- 프런트엔드
- 자바
- java
- 오라클
- 쿼리
- 알고리즘
- web
- 백엔드
- spring
- Next.js
- 미니정리
- 스프링
- 정리
- 코드 테스트
- 프론트엔드
- 자바스크립트
- 서버
- MySQL
- SQL
- 프로그래머스
- Today
- Total
참치코더의 꿈 메모장
2021/07/13 Oracle - 함수 본문
대 소문자를 바꿔 주는 UPPER, LOWER, INITCAP 함수
UPPER(문자열) : 괄호 안 문자 데이터를 모두 대문자로 변환하여 반환
LOWER(문자열) : 괄호 항 문자 데이터를 모두 소문자로 변환하여 반환
INITCAP(문자열) : 괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환
문자열 길이를 구하는 LENGTH 함수
특정 문자열의 길이를 구할 때 LENGTH 함수를 사용한다.
LENGTHB 함수
LENGTH 함수와 사용 방식은 같지만 문자열 데이터 길이가 아닌 바이트 수를 반환하는 LENGTHB 함수도
존재한다
* 한 글자당 영어는 1byte 한글은 2byte로 처리된다
* DUAL 테이블은 오라클의 최고 권한 관리자 계정 sys소유의 테이블 (더미테이블)
문자열 일부를 추출하는 SUBSTR 함수
SUBSTR(문자열 데이터, 시작 위치, 추출 길이)
문자열 데이터의 시작 위치부터 추출 길이만큼 추출한다.
시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 시작한다.
SUBSTR(문자열 데이터, 시작 위치)
문자열 데이터의 시작 위치부터 문자열 데이터 끝까지 추출한다.
시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 끝까지 추출한다.
INSTR([대상 문자열 데이터(필수)],[위치를 찾으려는 부분 문자(필수)]
[위치 찾기를 시작할 대상 문자열 데이터 위치(선택, 기본값은 1)],
[시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, 기본값은 1)])
REPLACE 함수
REPLACE 함수는 특정 문자열 데이터에 포함된 문자를 다른 문자로 대체할 경우에 유용한 함수이다.
REPLACE([문자열 데이터 또는 열 이름], [찾는 문자(필수)], [대체할 문자(선택)])
* 만약 대체할 문자를 입력하지 않는다면 찾는 문자로 지정한 문자는 문자열 데이터에서 삭제된다.
SELECT '010-1234-5678' AS REPLACE_BEFORE
REPLACE('010-1234-5678','-', ' ')AS REPLACE_1,
REPLACE('010-1234-5678', '-')AS REPLACE_2
FROM DUAL;
* REPLACE 함수는 카드 번호나 시간을 나타내는 데이터처럼 특정 문자가 중간중간 끼어잇는 데이터를 없애거나
변경할 때 사용한다.
LPAD, RPAD 함수
데이터와 자릿수를 지정한후 데이터 길이가 지정한 자릿수보다 작을 경우에 나머지 공간으로 채우는 함수.
* LPAD는 남은 빈 공간을 왼쪽에 채우고 RPAD는 오른쪽에 채운다.
LPAD([문자열 데이터 또는 열이름(필수)],[데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)])
RPAD([문자열 데이터 또는 열이름(필수)],[데이터의 쟈릿수(필수)],[빈 공간에 채울 문자(선택)])
SELECT 'Oracle',
LPAD('Oracle',10,'#') AS LPAD_1,
RPAD('Oracle',20,'*') AS RPAD_1,
LPAD('Oracle', 10) AS LPAD_2,
RPAD('Oracle',10) AS RPAD_2
FROM DUAL;
* 패딩 처리는 데이터의 일부만 노출해야 하는 개인정보를 출력할 때 사용한다.
SELECT
RPAD('971225-', 14, '*') AS RPAD_JMNO,
RPAD('010-1234-', 13, '*') AS RPAD_PHONE
FROM DUAL;
CONCAT 함수
CONCAT 함수는 두 개의 문자열 데이터를 하나의 데이터로 연결해 주는 역할을 한다.
SELECT CONCAT(EMPNO, ENAME),
CONCAT(EMPNO, CONCAT(' : ', ENAME))
FROM EMP
WHERE ENAME = 'SCOTT';
* 실무에서는 CONCAT 대신에 || 연산자를 더 많이 사용한다.
TRIM, LTRIM, RTRIM
TRIM, LTRIM, RTRIM 문자열 데이터 내에서 특정 문자를 지우기 위해 사용한다.
TRIM
*삭제할 문자가 생략된 경우에 기본적으로 공백을 제거한다.
TRIM 삭제 옵션
LEADING : 왼쪽에 있는 글자 제거
TRAILING: 오른쪽에 있는 글자 제거
BOTH : 양쪽의 글자를 모두 제거
TRIM 함수의 사용법
TRIM[삭제 옵션(선택)][삭제할 문자(선택)] FROM[원본 문자열 데이터(필수)]
SELECT '[' || TRIM('_ _Oracle_ _') || ']' AS TRIM,
'[' || TRIM(LEADING FROM '_ _Oracle_ _')|| ']' AS TRIM_LEADING,
'[' || TRIM(TRAILING FROM '_ _Oracle_ _') || ']' AS TRIM_TRAILING
'[' || TRIM(BOTH FROM '_ _Oracle_ _')|| ']' AS TRIM_BOTH
FROM DUAL;
LTRIM, RTRIM
* TRIM과 다른 점은 삭제할 문자를 하나만 지정하는 것이 아니라 여러 문자 지정이 가능하다.
LTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)])
RTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)])
'Oracle' 카테고리의 다른 글
| 2021/7/16 Oracle - 형 변환 함수 (0) | 2021.07.16 |
|---|---|
| 2021/07/14 Oracle - 숫자 함수, 날짜 함수 (0) | 2021.07.14 |
| 2021/07/13 Oracle - 날짜 & BFILE , BLOB (0) | 2021.07.13 |
| 2021/07/12 Oracle - 자료형 (0) | 2021.07.12 |
| 2021/07/10 ORACLE- WHERE 절 & WHERE 절 주 연산자 (0) | 2021.07.10 |