- カテゴリ:
文字列とバイナリ関数 (一般)
PARSE_IP¶
有効な INET (インターネットプロトコル)または CIDR (クラスレスインターネットドメインルーティング) 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 要素を直接クエリします。以下の例をご参照ください。
サブネットマスクを入力する場合、関数の出力を VARIANT 列に保存し、パフォーマンスを向上させるために生成された要素に対してクエリを実行することをSnowflakeはお勧めします。例をご参照ください。