Oracle SQL정리

Hvvany·2023년 8월 15일
0

오라클

목록 보기
1/1

문자열

substr

문자열 자르기

--사용법(문자열, 시작위치, 길이)
SUBSTR(CHAR,POS,LEN)

--예제
WITH EXAMPLE AS(
SELECT '동해물과 백두산이 마르고 닳도록' AS STR FROM DUAL
)

SELECT
SUBSTR(STR,1,4), --STR의 1번째 글자부터 4개 자르기
SUBSTR(STR,5,5), --STR의 5번째 글자부터 5개 자르기
SUBSTR(STR,10), --STR의 10번째 글자부터 끝까지 자르기
SUBSTR(STR,-7,3), --STR의 뒤에서 3번째 글자부터 3글자 자르기
SUBSTR(STR,-3), --STR의 뒤에서 3번째 글자부터 끝까지 자르기
FROM
EXAMPLE

instr

문자열 위치 찾기

--사용법(문자열, 타겟문자열, 시작위치, 횟수)
INSTR(STR,SUBSTR,POS,OCCUR)

||

문자열 합치기

--사용법
문자열1 || 문자열2 || 문자열3.........

--예제
WITH EXAMPLE AS(
SELECT 
'코딩팩토리의 ' AS STR1,
'블로그입니다.' AS STR2 
FROM DUAL
)

SELECT
STR1, -- 문자열1
STR2, -- 문자열2
STR1 || STR2 --문자열 합치기
FROM
EXAMPLE

concat

문자열 합치기

--사용법 (문자열1, 문자열2)
CONCAT(STR1,STR2)

--예제
WITH EXAMPLE AS(
SELECT 
'코딩팩토리의 ' AS STR1,
'블로그입니다.' AS STR2 
FROM DUAL
)

SELECT
STR1, --문자열1
STR2, --문자열2
CONCAT(STR1,STR2) --문자열 합치기
FROM
EXAMPLE

replace

문자열 치환

--사용법(문자열, 바꿀문자열, 바뀔문자열)
REPLACE(STR, TARGET_STR, REPLACE_STR)

SELECT
REPLACE('내가 그린 기린 그림은 잘 그린 기린 그림이다','기린','사자')
FROM DUAL
--결과 : 내가 그린 사자 그림은 잘 그린 사자 그림이다

SELECT
REPLACE('내가 그린 기린 그림은 잘 그린 기린 그림이다',' ','')
FROM DUAL
--결과 : 내가그린기린그림은잘그린기린그림이다

translate

문자열 한 글자씩 치환

--사용법(문자열, 바꿀 문자열, 바뀔문자열)
(TRANSLATE(STR, FROM_STR, TO_STR)

SELECT
TRANSLATE('내가 그린 기린 그림은 잘 그린 기린 그림이다','기린','사자')
FROM DUAL
--결과 : 내가 그자 사자 그림은 잘 그자 사자 그림이다

SELECT
TRANSLATE('010-1234-5678','1234567890','**********')
FROM DUAL
--결과 : ***-****-****

SELECT
TRANSLATE('WE ARE THE CHAMPION','ABCDEFGHIJKMNLOPQRSTUVWXYZ','abcdefghijkmnlopqrxtuvwxyz')
FROM DUAL
--결과 : we are the champion

LTRIM

왼쪽 공백 제거

--사용법 (문자열,제거문자)
LTRIM(STR,TARGET_STR)

--예제
WITH EXAMPLE AS(
SELECT 
'  BLANK  ' AS STR1,
'ABCDEF' AS STR2
FROM DUAL
)

SELECT
LTRIM(STR1),
LTRIM(STR2,'ABC')
FROM EXAMPLE

RTRIM

오른쪽 공백 제거

--사용법 (문자열,제거문자)
RTRIM(STR,TARGET_STR)

--예제
WITH EXAMPLE AS(
SELECT 
'  BLANK  ' AS STR1,
'ABCDEF' AS STR2
FROM DUAL
)

SELECT
RTRIM(STR1),
RTRIM(STR2,'DEF')
FROM EXAMPLE

TRIM

양쪽 공백 제거
--사용법 (문자열)
TRIM(STR)

--예제
WITH EXAMPLE AS(
SELECT 
'  BLANK  ' AS STR1
FROM DUAL
)

SELECT
TRIM(STR1)
FROM EXAMPLE
profile
Just Do It

1개의 댓글

comment-user-thumbnail
2023년 8월 15일

좋은 정보 얻어갑니다, 감사합니다.

답글 달기