NET_SAFE_IP_FROM_STRING

NET_SAFE_IP_FROM_STRING函数用于将IPv4IPv6地址从字符串STRING格式转换为二进制BINARY格式。

说明

类似于NET_IP_FROM_STRING函数,但如果输入参数被视为无效,则返回NULL而不是抛出错误。

命令格式

BINARY NET_SAFE_IP_FROM_STRING(STRING <str>)

参数说明

str:必填,STRING类型。待转换的表示IPv4IPv6地址的字符串,支持的格式如下:

  • 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函数属于网络函数,更多网络相关函数请参见网络函数