- 카테고리:
문자열 및 이진 함수 (일반)
PARSE_IP¶
유효한 INET(Internet Protocol) 또는 CIDR(Classless Internet Domain Routing) IPv4 또는 IPv6 문자열의 모든 구성 요소로 이루어진 JSON 오브젝트를 반환합니다.
구문¶
인자¶
필수:
expr문자열 식입니다.
typeIP 주소 유형을 식별하는 문자열입니다.
INET또는CIDR을 지원합니다. 값은 대/소문자를 구분하지 않습니다.
선택 사항:
permissive구문 분석 오류가 처리되는 방법을 결정하는 플래그:
0으로 설정하는 경우, 구문 분석 오류로 인해 함수가 실패합니다.
1로 설정하면 구문 분석 오류의 결과,
error필드가 해당 오류 메시지로 설정된 오브젝트가 생성됩니다(다른 필드는 설정되지 않음).
기본값은 0입니다.
반환¶
사용법 노트¶
이 함수는 IP 주소를 구문 분석하고 JSON 오브젝트를 반환합니다.
다음 요소가 항상 반환됩니다.
family숫자 값입니다.
4(IPv4) 또는6(IPv6)입니다.ip_type문자열 값입니다. 입력에서
inet또는cidr입니다.host문자열 값입니다. 입력 식의 호스트 주소입니다.
ip_fields4개의 숫자 필드로 구성된 배열로, 각각은 0에서 4,294,967,295(2^32 - 1) 사이의 값을 포함합니다. 이 배열의 비트 값은 호스트 주소의 원시 비트에 매핑됩니다.
IPv4 주소: 호스트 주소의 맨 오른쪽 32비트만 표시합니다.
IPv6 주소: 원시 128비트 호스트 주소에 매핑되는 각 32비트 필드를 왼쪽에서 오른쪽으로 표시합니다.
서브넷 마스크를 입력하는 경우, 서브넷 마스크의 길이를 나타내는 숫자 값인
network_prefix_length가 결과에 포함됩니다.IPv4 주소에 대해 다음 요소가 반환됩니다.
ipv4ip_fields의 첫 번째 필드와 일치하는 숫자 IP 주소입니다.ipv4_range_start네트워크의 숫자 시작 주소로, 서브넷 마스크가 입력에 포함될 때 표시됩니다.
ipv4_range_end네트워크의 숫자 끝 주소로, 서브넷 마스크가 입력에 포함될 때 표시됩니다.
IPv6 주소에 대해 다음 요소가 반환됩니다.
hex_ipv6완전히 채워진 고정 크기 16진수 값으로 표현되는 IP 주소입니다.
hex_ipv6_range_start네트워크의 완전히 채워진 고정 크기 16진수 시작 주소로, 서브넷 마스크가 입력에 포함될 때 표시됩니다.
hex_ipv6_range_end네트워크의 완전히 채워진 고정 크기 16진수 끝 주소로, 서브넷 마스크가 입력에 포함될 때 표시됩니다.
snowflake$type요소는 내부 Snowflake 사용을 위해 예약되어 있습니다.IP 주소 범위 계산 또는 서브넷 마스크 검색의 경우, 개별 JSON 요소를 직접 쿼리합니다. 아래의 예를 참조하십시오.
서브넷 마스크를 입력할 때 Snowflake는 VARIANT 열에 함수 출력을 저장하고 성능 향상을 위해 생성된 요소에 대해 쿼리할 것을 권장합니다. 예를 참조하십시오.