티스토리 뷰
LPAD/RPAD
(컬럼 | '문자값' , 길이(바이트) [ , '덧붙이려고 하는 문자' ] )
제시된 컬럼|'문자값에 임의의 문자를 왼쪽 또는 오른쪽에 덧붙여 최종 N 길이 만큼의 문자열을 반환한다.
문자에 대해 통일감 있게 표시하고자 할 때 사용한다.
--20만큼의 길이 중 EMAIL 값은 오른쪽으로 정렬하고 공백을 왼쪽으로 채운다.
SELECT LPAD(EMAIL, 20)
FROM EMPLOYEE;
SELECT LPAD(EMAIL, 20, '#')
FROM EMPLOYEE;
--20만큼의 길이 중 EMAIL 값은 왼쪽으로 정렬하고 공백을 오른쪽으로 채운다.
SELECT RPAD(EMAIL, 20)
FROM EMPLOYEE;
SELECT RPAD(EMAIL, 20, '$')
FROM EMPLOYEE;
LTRIM / RTRIM
(컬럼 | '문자값' [ , '제거하고자 하는 문자' ] )
문자열의 왼쪽 혹은 오른쪽에서 제거하고자 하는 문자들을 찾아서 제거한 결과를 반환한다.
제거하고자 하는 문자값을 생략 시 기본값으로 공백을 제거한다.
--왼쪽 공백을 제거
SELECT LTRIM(' HI') FROM DUAL;
--오른쪽 공백을 제거
SELECT RTRIM('HI ') FROM DUAL;
--왼쪽부터 '0'문자를 제거하여 1234560이 출력
SELECT LTRIM('0001234560', '0') FROM DUAL;
--왼쪽부터 공백과 123숫자들을 제거하여 HI123을 출력
SELECT LTRIM(' 123123HI123', ' 321') FROM DUAL;
-- 오른쪽부터 '0'을 제거하여 000123을 출력
SELECT RTRIM('000123000', '0') FROM DUAL;
--함수의 중첩사용으로 HI양쪽의 공백을 제거해서 출력
SELECT RTRIM(LTRIM(' HI ')) FROM DUAL;
TRIM
( ( [ LEADING | TRAILING | BOTH ] '제거하고자 하는 문자값' FROM ) 컬럼 | '문자값' )
문자값 앞/뒤/양쪽에 있는 지정한 문자를 제거한 나머지를 반환한다.
제거하고자 하는 문자값을 생략 시 기본적으로 양쪽에 있는 공백을 제거한다.
FROM절은 필수는 아니다.
SELECT TRIM(' HI ') FROM DUAL;
--양 쪽의 공백을 제거하여 출력
SELECT TRIM('Z' FROM 'ZZZHIZZZ') FROM DUAL;
SELECT TRIM(BOTH 'Z' FROM 'ZZZHIZZZ') FROM DUAL;
--양쪽의 Z 데이터를 제거하여 출력
SELECT TRIM(LEADING 'Z' FROM 'ZZZHIZZZ') FROM DUAL;
--앞쪽의 Z 데이터를 제거하여 출력
SELECT TRIM(TRAILING 'Z' FROM 'ZZZHIZZZ') FROM DUAL;
--뒤쪽의 Z 데이터를 제거하여 출력
SUBSTR
( 컬럼 | '문자값' , POSITION [ , LENGTH ] )
문자데이터에서 지정한 위치부터 지정한 개수만큼의 문자열을 추출해서 반환한다.
SELECT SUBSTR ('SHOWMETHEMONEY' , 7) FROM DUAL;
SELECT SUBSTR ('SHOWMETHEMONEY' , 5, 2) FROM DUAL;
SELECT SUBSTR ('SHOWMETHEMONEY' , -8, 3) FROM DUAL;
--[우 미 더]를 출력해 보아라.
SELECT SUBSTR ('쇼우 미 더 머니', 2, 5) FROM DUAL;
--EMPLOYEE 테이블에서 주민번호에 성별을 나타내는 부분만 잘라서 조회 (사원명, 성별코드)
SELECT EMP_NAME AS "사원명",
SUBSTR(EMP_NO, 8, 1) AS "성별코드"
FROM EMPLOYEE;
--EMPLOYEE 테이블에서 여자 사원만 조회 (사원명, 성별코드)
SELECT EMP_NAME AS "사원명",
SUBSTR(EMP_NO, 8, 1) AS "성별코드"
FROM EMPLOYEE
WHERE SUBSTR(EMP_NO, 8, 1) = '2';
/*실습문제 1
1. EMPLOYEE 테이블에서 주민등록번호 첫 번째 자리부터 성별까지를 추출한 결과값 오른쪽에 * 문자를 채워서 조회
ex) 999999-2****** 형태로 출력*/
SELECT RPAD('991212-2', 14, '*')
FROM DUAL;
SELECT RPAD(SUBSTR(EMP_NO, 1, 8), 14, '*')
FROM EMPLOYEE;
/*실습문제 2
2. EMPLOYEE 테이블에서 사원명, 이메일, 아이디(이메일에서 '@' 앞의 문자 값만 출력)를 조회*/
SELECT EMP_NAME,
EMAIL,
SUBSTR(EMAIL, 1, 6),
INSTR(EMAIL, '@')
FROM EMPLOYEE;
'데이터베이스(Database) 학습 > 1_오라클(Oracle)' 카테고리의 다른 글
4. 사용자 계정 생성, 실습 환경 구축 (0) | 2021.10.22 |
---|---|
3. 주요 용어와 SQL (0) | 2021.10.22 |
12. DDL(Data Definition Language) (0) | 2021.10.20 |
JOIN (0) | 2021.10.18 |
숫자 처리 함수 (0) | 2021.10.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java란
- 자바 if if
- if if
- 자바 if else if else
- 반복문
- 자바 조건문 if else
- 자바 switch case
- 자바 연산자 우선순위
- 자바 반복문
- 자바의 기초
- 다운캐스팅
- if else if
- 객체지향이란
- java
- 자바 do while
- java 기초
- Switch Case
- java 프로그래밍이란
- 데이터베이스 null
- 스프링 logging
- 반복문 break continue
- 스프링 로깅
- 스프링 로그
- 자바 프로그래밍이란
- 자바 반복문 for문
- 자바
- 자바 조건문 if else if문
- 조건문
- 중첩반복문
- Downcasting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함