ip_cidr_contains function
Applies to: Databricks Runtime 18.2 and above
Beta
This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Databricks previews.
Returns TRUE if an IP address or CIDR block is contained within another CIDR block, FALSE otherwise.
Syntax
ip_cidr_contains ( cidr, needle )
Arguments
cidr: ASTRINGorBINARYvalue representing a valid CIDR block.needle: ASTRINGorBINARYvalue representing a valid IP address or CIDR block.
Mixed input types (STRING and BINARY) are permitted.
Returns
A BOOLEAN.
Returns TRUE if needle is contained within cidr, FALSE otherwise.
The function returns NULL if either argument is NULL.
Error conditions
- If
cidris not a valid CIDR block, the function returns INVALID_CIDR_BLOCK. - If
needleis not a valid IP address or CIDR block, the function returns INVALID_IP_ADDRESS_OR_CIDR_BLOCK.
Examples
SQL
> 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