안녕하세요. PL SQL을 막 배우고 있는 초보자 입니다.
PL SQL 에서 substr, instr, translate, trim 등등 여러 함수를 사용하여
아래 첨부된 그림 파일과 같이 데이터 베이스 칼럼을 나눌려고 하는데
잘모르는 부분이 많아서 질문등록합니다.
칼럼 STREET1 을 또다른 테이블의 STREETNUMBER 와 STREETNAME 칼럼으로 나누어서
넣는 FUNCTION을 만들어야 하는게 주 목적입니다.
저는 GET_STREETNUMBER 와 GET_STREETNAME 이라는 FUNCTION을 만들어서 그안에 IF문으로
조건을 충족시키려하니 잘안되네요. 많은 답변 부탁드립니다.
아래는 제가 시도한 GET_STREETNUMBER FUNCTION 입니다
create or replace
FUNCTION GET_STREETNUMBER
(p_street IN VARCHAR2)
RETURN VARCHAR2 AS
v_number VARCHAR2(100);
BEGIN
IF instr(p_street, 'PO BOX', 1) >= 1 THEN
v_number := null;
ELSIF instr(p_street, 'Cnr', 1) >= 1 THEN
v_number := null;
ELSIF instr(p_street, 'Suite', 1) >= 1 THEN
v_number := null;
ELSIF Length(trim(translate(p_street, '[A-Z] [a-z]', ' '))) = 0 THEN
v_number := null;
ELSE
v_number := substr(p_street, 1, (length(p_street)-(instr(p_street,'[0123456789]', -1))+1));
END IF;
RETURN v_number;
END GET_STREETNUMBER;