適用於:
執行環境 18.2 及以上版本
如果某 IP 位址或 CIDR 區塊被包含在另一個 CIDR 區塊中,則會回傳;TRUE否則則回傳FALSE。
Syntax
ip_cidr_contains ( cidr, needle )
引數
-
cidr: ASTRING或BINARY值,代表有效的 CIDR 區塊。 -
needle: ASTRING或BINARY值,代表有效的 IP 位址或 CIDR 區塊。
允許混合輸入類型(STRING 和 BINARY)。
Returns
BOOLEAN。
若包含TRUE於 needle,cidr則返回FALSE,否則。
若任一參數為 NULL,函數回傳NULL。
錯誤條件
- 若
cidr不是有效的 CIDR 區塊,函式會回傳 INVALID_CIDR_BLOCK。 - 若
needle不是有效的 IP 位址或 CIDR 區塊,函式會回傳 INVALID_IP_ADDRESS_OR_CIDR_BLOCK。
Examples
> SELECT ip_cidr_contains('192.168.1.0/24', '192.168.2.1');
false
> SELECT ip_cidr_contains('2001:db8::/32', '2001:db8::1');
true
> SELECT ip_cidr_contains('::ffff:192.168.1.0/120', '192.168.1.100');
true
> SELECT ip_cidr_contains(X'C0A8010018', X'C0A80164');
true
> SELECT ip_cidr_contains('192.168.1.0/24', X'C0A80164');
true
> SELECT ip_cidr_contains(NULL, '192.168.1.1');
NULL
> SELECT ip_cidr_contains('192.168.1.0/24', NULL);
NULL
> SELECT ip_cidr_contains(NULL, NULL);
NULL
> SELECT ip_cidr_contains('invalid', '192.168.1.1');
Error: INVALID_CIDR_BLOCK