반응형
학생의 전화번호에서 지역번호만 뽑아내려고 한다.
SELECT name, substr(tel, 1, 3)
FROM student;
이렇게 적기엔 02 지역번호는 2개이고
다른 곳은 3개이다.
substr에 들어갈 3번째 인수 자리에
어쩔 땐 2가 들어가야 하고, 어쩔 땐 3이 들어가야 한다.
변해야 하는 것이다.
하지만 데이터베이스에는 변수가 없다.
이때 instr( ) 함수를 사용해준다.
instr( )은 내가 찾는 문자열의 위치가 나온다.
SELECT '-)$'
from dual;
-- 결과 : 3
-- $의 인덱스가 나오는 것
SELECT instr('-)$', '$')
from dual;
SELECT instr(tel, ')')-1
FROM student;
instr(tel, ')')-1
자체가 변수가 되는 것이다.
SELECT name, substr(tel, 1, instr(tel, ')')-1) 지역번호, tel
FROM student;
[출처]
https://cafe.naver.com/metacoding
메타 코딩 유튜브
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9
반응형