这是SQL数据库中表中的IPV6地址,
我想比较这两个IPV6地址
范围:2002:4559:1FE2:4559:1FE2:21E3:F3E3:0051
至范围:2002:4559:1FE2:4559:1FE2:21E3:F3E3:0055
需要比较这些地址然后更新
将地址范围扩展到该表中的From范围地址。请帮助
答案 0 :(得分:1)
如果您使用的是MySQL> 5.6.3,则可以使用INET6_ATON将字符串转换为VARBINARY(16)
并将其用于范围检查?如果这些地址都以统一的方式存储,那么词典字符串比较也可能对您有用。
答案 1 :(得分: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)