2

我在 mySql 数据库中有一些 IP 地址。我想通过 SQL ORDER BY 以升序模式对它们进行排序。但是 SQL 以机器可读模式对它们进行排序,而我想以人类可读模式进行排序。

它像这样安排我的IP:

91.99.102.209
91.99.102.213
91.99.102.233
91.99.102.33
91.99.102.37
91.99.102.53
91.99.102.69
91.99.102.9

但我想像下面这样:

91.99.102.9
91.99.102.33
91.99.102.37
91.99.102.53
91.99.102.69
91.99.102.209
91.99.102.213
91.99.102.233

我怎样才能做到这一点?

4

2 回答 2

2

对于您的情况,这应该有效:

SELECT ip_addr_str
FROM mytable
ORDER BY inet_aton(ip_addr_str)
于 2013-09-22T06:46:37.360 回答
1

使用INET_ATON

SELECT * FROM your_table
ORDER BY INET_ATON(ip_address);
于 2013-09-22T06:46:24.110 回答