- reverse: 해당 문자열을 거꾸로 보여주는 함수

 

select
'oracle', reverse('oracle'),
'KH정보교육원', reverse('KH정보교육원'),
reverse( reverse('KH정보교육원'))
from dual; 



 

- length: 해당 문자열의 글자수를 알려주는 함수

 

select
'KH정보교육원', length('KH정보교육원')
from dual; 

 


- lengthb: 해당 문자열의 byte수를 알려주는 함수

 

select
'KH정보교육원', lengthb('KH정보교육원')
from dual;

 


- instr: 어떤 문자열에서 특정한 글자(단어)가 몇번째 위치에 있는지를 알려주는 함수

 

select
'oracle dba database baseball',
instr('oracle dba database baseball', 'ba', 1, 1), -- x y -- x는 출발지점. y번으로 ba가 나오는 위치 (공백포함)
instr('oracle dba database baseball', 'ba', 1, 2), -- 1번째부터 출발하고 2번째로 나오는 ba위치(공백포함)
instr('oracle dba database baseball', 'ba', 1, 3),
instr('oracle dba database baseball', 'ba', 1, 4),
instr('oracle dba database baseball', 'ba', 1, 5), -- 5번째는 없으므로 결과값 0이 나옴
instr('oracle dba database baseball', 'ba', 10, 1), -- 10번째부터 출발해서 결과가 16
instr('oracle dba database baseball', 'ba', 1), -- y값 ,1 이 생략된것
instr('oracle dba database baseball', 'ba', 10) -- y값 ,1 이 생략된것
from dual;

 


- ltrim:  어떤 문자열에서 왼쪽에서 부터 특정글자를 제거시켜주는 함수
  - 왼쪽부터 지우다가 공백 혹은 지정하지 않은 다른 문자를 만나면 정지하고 거기까지 출력
  - 별도의 값을 지정하지 않은 경우 공백을 삭제

 

select
'aabbccccddd bdbdacoabcadcbabdbcba',
ltrim('aabbccccddd bdbdacoabcadcbabdbcba', 'abcd'),
'aabbccccdddbdbdacoabcadcbabdbcba',
ltrim('aabbccccdddbdbdacoabcadcbabdbcba', 'abcd')
from dual;

 

select
'이' || '                            순신' ,
'이' || ltrim('                            순신') -- ltrim에서 별도의 값을 안쓸경우 공백을 삭제
from dual;

 


- rtrim: 어떤 문자열에서 오른쪽에서 부터 특정글자를 제거시켜주는 함수

 

- decode
  decode(a, b, c, d, e, f): A가 B면 C를 출력하고, A가 D면 E를 출력하고, B나 C가 아닌경우 F를 출력하게함

select decode(5-2, 1, '5-2 = 1입니다.', 3, '5-2 = 3입니다.', '나는 산수를 몰라요')
from dual;

 

 

- case when then else end (암기)
ⓐ 기준 데이터가 등호 (=)(ex:5-2 와 같이 3이라는 데이터가 명확) 일 경우

case [A] when [B] then [C] else [D] end: A가 B면 C를 출력하게 하고 그외 값일 경우 D를 출력하게 함.
                                         다만, when ~ then ~ 절은 when ~~ then ~~ 다음 추가로 사용할 수 있음.

 

ⓑ 기준 데이터가 크거나 작은 범위형 데이터(ex: 5보다 크다 혹은 5보다 작다)일 경우

 

(*): >(크다), <(작다), =(같다)등의 특정 부등호를 의미
case when [A (*) B] then [C] else [D] end: A가 B보다 (*)일때 C를 출력하게 하고, 그외 값일 경우 D를 출력하게 함.
                                           다만, when ~ then ~ 절은 when ~~ then ~~ 다음 추가로 사용할 수 있음. 

 

 

 

1. 아래의 테이블을 해당 결과 데이터로 변경하는 쿼리문을 작성하라

 



2. 아래의 테이블을 해당 결과 데이터로 변경하는 쿼리문을 작성하라

 

 

 

 


WRITTEN BY
빨강꼬마

,