2017-03-01 227 views
1

这里比较是SQL数据库表中的IPV6地址, 我想比较这两个IPv6地址 从范围:2002:4559:1FE2:4559:1FE2:21E3:F3E3: 0051
To范围:2002:4559:1FE2:4559:1FE2:21E3:F3E3:0055
需要比较这些地址,然后更新 要在table.Please帮助范围地址的范围从地址如何IPV6地址在SQL

+0

还有比这另外两个选项?在未来?或者只有两个地址来做出这个范围? – Whencesoever

回答

1

如果您使用MySQL> 5.6.3,则可以使用INET6_ATON将字符串转换为VARBINARY(16)并将其用于范围检查?如果这些地址都以统一的方式存储,则字典字符串比较也可能适用于您。

参见Storing IPv6 Addresses in MySQL

+0

感谢您的回复,但我没有让你的先生,Could你plz写一个querey而不是 –

0

计算为两个范围的MD5 128位的校验和比较校验代替的范围内。值(校验和)以32个十六进制数字的字符串形式返回,如果参数为NULL,则返回NULL

样品查询:

UPDATE Table T1 
SET T1.To_Range = T1.From_Range 
WHERE MD5(T1.From_Range) != MD5(T1.To_Range) 
+0

这个MD5比较IPV6地址? –

+0

我得到一个错误,如MD5无效标识 –

+0

你正在使用哪个数据库? – narendra