Goldilocks에는 inet_aton 함수가 없다 

 

없으면 function을 만들면 된다. 

 

물론 공식적인건 아니고... 개인적으로 만든거니 오류투성이와 성능은 신경안쓴.. 돌아만 가는 코드 

 

CREATE FUNCTION inet_aton(ip VARCHAR(15))
RETURN INT
IS 
     result INT DEFAULT 0;
     dot_pos1 INT;
     dot_pos2 INT;
     dot_pos3 INT;
BEGIN
    dot_pos1 := INSTR(ip, '.');
    dot_pos2 := INSTR(ip, '.', dot_pos1 + 1);
    dot_pos3 := INSTR(ip, '.', dot_pos2 + 1);

    result := (SUBSTRING(ip, 1, dot_pos1 - 1) * 256 * 256 * 256) + 
                 (SUBSTRING(ip, dot_pos1 + 1, dot_pos2 - dot_pos1 - 1) * 256 * 256) + 
                 (SUBSTRING(ip, dot_pos2 + 1, dot_pos3 - dot_pos2 - 1) * 256) + 
                 SUBSTRING(ip, dot_pos3 + 1);

    RETURN result;
END;
/

 

SQL> select inet_aton('192.168.0.3') from dual;

INET_ATON('192.168.0.3')
------------------------
              3232235523

 

LOCATE

자열 내에서 하위 문자열의 위치를 찾는 SQL 함수

형식 :  LOCATE(substr, str [, start])

   - substr: 찾고자 하는 하위 문자

   - str: 대상 문자열

   - start (선택 사항): str에서 검색을 시작할 위치 (def:1)

예시 : SELECT LOCATE('or', 'Hello world'); -- 결과는 8

    ** 찾는 문자열이 없으면 0 반환

 

 

Goldilocks Function/Procedure Schema 보는 법 

/ddl_procedure [function name | procedure name]

select *from user_source where name like [function name | procedure name]

 

 

 

'DBMS > Goldilocks' 카테고리의 다른 글

[Goldilocks] Function/Procedure 생성코드 확인하는법  (0) 2024.02.21