0

如果有人可以在这里帮助我,我将不胜感激。

所以我创建了一个视图“ip_range”,它基本上是一个 ip 范围,列是

INET_ATON(ip) | (INET_ATON(ip)+(前缀))

现在,当我尝试在视图中搜索位于两个范围之间的条目时,我不断收到错误消息。这就是我在查询中输入的内容

 select * from ip_range WHERE "2624412513" BETWEEN INET_ATON(ip) AND (INET_ATON(ip)+(prefix);

我很确定这是语法错误之类的,但不确定。

抱歉,伙计们没有更清楚,我的查询中有括号。当我运行查询时,我得到“空集(0.00 秒),即使我看到它位于范围内。

select * from ip_range WHERE "2624412513" BETWEEN 'INET_ATON(ip)' AND '(INET_ATON(ip)+(prefix))';
Empty set (0.00 sec)

这是更新的代码,

谢谢你。

4

1 回答 1

0

你最后缺少括号

 select * from ip_range WHERE "2624412513" BETWEEN INET_ATON(ip) AND (INET_ATON(ip)+(prefix));

或试试这个

  select * from ip_range WHERE INET_ATON(ip) < 2624412513 
                          AND  INET_ATON(ip)+(prefix) > 2624412513
于 2013-06-28T14:42:27.977 回答