본문 바로가기
✨ DBMS/Oracle

[Oracle / SQL] 더미테이블(DUAL)과 유용한 문자 함수 예제

by 환풍 2023. 2. 21.
728x90
반응형

더미테이블이란 ?

 - 쿼리문 연습을 위해 오라클에서 제공하는 테이블이다.

 

예제)

1
2
SELECT 10 * 20'자바'
FROM DUAL;
cs

 

DUAL에는 데이터가 하나도 없다. 즉, 가상의 공간이라고 생각하자.

DUAL은 출력되는 데이터를 확인해보기 위한 수단으로써,

특정 테이블을 생성할 필요없이 DUAL 테이블을 이용해 함수 값을 리턴 받는다.


함수

대소문자 변환

UPPER(컬럼명) : 대문자로 변환
LOWER(컬럼명) : 소문자로 변환
INITCAP(컬럼명) : 단어의 첫글자만 대문자로 변환

 

1
2
3
4
5
SELECT 'hello java~'
    , UPPER('hello java~')
    , LOWER('hello java~')
    , INITCAP('hello java~')
FROM DUAL;
cs

 


문자의 길이 조회

1
2
3
4
5
SELECT LENGTH('hello java~')
    , LENGTHB( 'hello java~')
    , LENGTH ('한글')
    , LENGTHB('한글')
FROM DUAL;
cs

LENGTH - 문자 길이 조회

LENGTHB - 바이트 수 조회

 


문자의 일부 추출

1
2
3
4
5
SELECT 'HELLO WORLD'
    , SUBSTR('HELLO WORLD'13)
    , SUBSTR('HELLO WORLD'24)
    , SUBSTR('HELLO WORLD'1)
FROM DUAL;
cs


문자열 연결 함수

1
2
3
4
SELECT CONCAT('HELLO''WORLD')
    , CONCAT('HELLO', CONCAT('WORLD''ORACLE'))
    , 'HELLO' || 'WORLD'|| 'ORACLE'
FROM DUAL;
cs


문자열 대체 함수

1
2
3
4
SELECT '010-1111-2222'
    , REPLACE('010-1111-2222''-'' ')
    , REPLACE('010-1111-2222''-''')
FROM DUAL;
cs


빈 공간을 특정 문자로 채우는 함수

1
2
3
4
SELECT 'ORACLE'
    , LPAD('ORACLE'10'#')
    , RPAD('ORACLE'10'!')
FROM DUAL;
cs

LPAD는 지정해준 문자열의 남는 공간을 왼쪽에 남는 공간 만큼 채우겠다.

RPAD는 지정해준 문자열의 남는 공간을 오른쪽에 남는 공간 만큼 채우겠다.


공백을 제거하는 함수

1
2
3
4
SELECT LTRIM('  ORACLE  ')
    , RTRIM('  ORACLE  ')
    , TRIM('  ORACLE  ')
FROM DUAL;
cs

LTRIM은 왼쪽 공백 제거, RTRIM은 오른쪽 공백 제거, TRIM 은 양쪽 모든 공백 제거,


 

728x90
반응형

댓글