ipv4_compare()
2 つの IPv4 文字列を比較します。 2 つの IPv4 文字列では、引数のプレフィックスおよび省略可能な引数 PrefixMask
から計算された IP プレフィックス マスクの組み合わせの構成時に、解析と比較が実行されます。
構文
ipv4_compare(
Expr1,
Expr2[ ,
PrefixMask])
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
Expr1、 Expr2 | string |
✔️ | IPv4 アドレスを表す文字列式。 IPv4 文字列は、IP プレフィックス表記を使用してマスクできます。 |
PrefixMask | int |
考慮される最上位ビットの数を表す 0 ~ 32 の整数。 |
IP プレフィックスの表記
IP プレフィックス表記 (CIDR 表記とも呼ばれます) は、IP アドレスとそれに関連付けられているネットワーク マスクを表す簡潔な方法です。 形式は です <base IP>/<prefix length>
。プレフィックスの長さは、ネットマスク内の先頭の 1 ビットの数です。 プレフィックスの長さは、ネットワークに属する IP アドレスの範囲を決定します。
IPv4 の場合、プレフィックスの長さは 0 ~ 32 の数値です。 そのため、表記 192.168.2.0/24 は IP アドレス 192.168.2.0 を表し、ネットマスクは 255.255.255.0 です。 このネットマスクの先頭は 24 ビット、プレフィックス長は 24 です。
IPv6 の場合、プレフィックスの長さは 0 ~ 128 の数値です。 そのため、表記 fe80::85d:e82c:9446:7994/120 は、ffff:ffff:ffff:ffff:ff00 のネットマスクを持つ IP アドレス fe80::85d:e82c:9446:7994 を表します。 このネットマスクの先頭は 120 ビット、プレフィックス長は 120 です。
戻り値
0
: 最初の IPv4 文字列引数の数値型表記が 2 番目の IPv4 文字列引数と等しい場合1
: 最初の IPv4 文字列引数の数値型表記が 2 番目の IPv4 文字列引数より大きい場合-1
: 最初の IPv4 文字列引数の数値型表記が 2 番目の IPv4 文字列引数より小さい場合null
: 2 つの IPv4 文字列のいずれかの変換が成功しなかった場合。
例: IPv4 比較等値ケース
IPv4 文字列内で指定された IP プレフィックス表記を使用して、IP を比較します
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string)
出力
ip1_string | ip2_string | 結果 |
---|---|---|
192.168.1.0 | 192.168.1.0 | 0 |
192.168.1.1/24 | 192.168.1.255 | 0 |
192.168.1.1 | 192.168.1.255/24 | 0 |
192.168.1.1/30 | 192.168.1.255/24 | 0 |
IPv4 文字列内で関数 ipv4_compare()
の追加引数として指定された IP プレフィックス表記を使用して、IP を比較します
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string, prefix)
出力
ip1_string | ip2_string | prefix | 結果 |
---|---|---|---|
192.168.1.1 | 192.168.1.0 | 31 | 0 |
192.168.1.1/24 | 192.168.1.255 | 31 | 0 |
192.168.1.1 | 192.168.1.255 | 24 | 0 |
関連コンテンツ
- IPv4/IPv6 関数の概要
- IPv4 テキスト一致関数の概要
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示