본문 바로가기
데이터베이스/Oracle

[Oracle] 공백을 기준으로 문자열 자르기

by 비븽 2022. 12. 2.

* 참고로 oracle 내장함수에는 right(), left() 함수가 없다고 한다 ... 

 

위와 같이 만들어보겠습니다

완성!

select name as Full_name,
	 substr(name,1,(instr(name,' ')-1)) as Fmaily_name,
	substr(name,(instr(name,' ')),20) as Given_name,
	HIRE_DATE,
	to_char(SALARY*12, '$999,999,999') as Total_sal
from employees
where rownum < 3
;

 

 


 

 

공백을 기준으로 문자열 자르기

데이터를 잘라주는 substr()

substr( '데이터' , '시작위치' , '길이' )

데이터를 찾아주는 instr()

instr( '문자열', '찾을 문자 값')

 

Full_name 을 가지고 Family_name 과 Given_name 으로 나누기 위해 공백을 기준으로 나누고자 했다. (다른 테이블에서 가져온 데이터를 가공한거라 원본데이터에는 Full_name이라는 칼럼이 name이라고 되어있다 는것만 참고)

Family_name

substr(name,1,(instr(name,' ')-1)) as Fmaily_name

Given_name

substr(name,(instr(name,' ')),20) as Given_name