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 |
---|