NET_IP_FROM_STRING函数用于将IPv4或IPv6地址从字符串STRING格式转换为二进制BINARY格式。
命令格式
BINARY NET_IP_FROM_STRING (STRING <str>)
参数说明
str:必填,STRING类型。待转换的表示IPv4或IPv6地址的字符串,支持的格式如下:
IPv4:以点分四组格式。例如
10.1.x.x
。IPv6:以冒号分隔格式。例如
1234:5678:90ab:cdef:1234:5678:90ab:cdef
。更多示例,请参见IP Version 6 Addressing Architecture。
说明
该函数不支持CIDR表示法,例如10.1.x.x/xx
。
返回值说明
返回BINARY类型的IP地址。返回规则如下:
若输入参数为NULL,返回NULL。
若输入参数无效或者不合法,则返回报错。
说明如果将
odps.sql.udf.strict.mode
参数设置为false,当输入参数无效或不合法时,系统不会抛出异常,而是返回NULL。
使用示例
--返回 0123
SELECT NET_IP_FROM_STRING('48.49.50.51');
--返回 =00=00=00=00=00=00=00=00=00=00=00=00=00=00=00=01
SELECT NET_IP_FROM_STRING('::1');
--返回 0123456789@ABCDE
SELECT NET_IP_FROM_STRING('3031:3233:3435:3637:3839:4041:4243:4445');
--返回 =00=00=00=00=00=00=00=00=00=00=FF=FF=C0=00=02=80
SELECT NET_IP_FROM_STRING('::ffff:192.0.2.128');
--返回 NULL
SELECT NET_IP_FROM_STRING(NULL);
-- 返回报错 FAILED: ODPS-0130071:[0,0] Semantic analysis exception - physical plan generation failed: ODPS-0121095:Invalid argument - Invalid IP address: ::wxyz
SELECT NET_IP_FROM_STRING('::wxyz');
相关函数
NET_IP_FROM_STRING函数属于网络函数,更多网络相关函数请参见网络函数。
该文章对您有帮助吗?