NET_SAFE_IP_FROM_STRING函数用于将IPv4或IPv6地址从字符串STRING格式转换为二进制BINARY格式。
说明
类似于NET_IP_FROM_STRING函数,但如果输入参数被视为无效,则返回NULL而不是抛出错误。
命令格式
BINARY NET_SAFE_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。
若输入参数无效或者不合法,则返回NULL。
使用示例
--返回 0123
SELECT NET_SAFE_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_SAFE_IP_FROM_STRING('::1');
--返回 0123456789@ABCDE
SELECT NET_SAFE_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_SAFE_IP_FROM_STRING('::ffff:192.0.2.128');
--返回 NULL
SELECT NET_SAFE_IP_FROM_STRING(NULL);
--返回 NULL
SELECT NET_SAFE_IP_FROM_STRING('123.456');
--返回 NULL
SELECT NET_SAFE_IP_FROM_STRING('::wxyz');
相关函数
NET_SAFE_IP_FROM_STRING函数属于网络函数,更多网络相关函数请参见网络函数。
该文章对您有帮助吗?