在 SQL 中以人类可读格式排序



我在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

我该怎么做?

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

SELECT ip_addr_str
FROM mytable
ORDER BY inet_aton(ip_addr_str)

使用 INET_ATON

SELECT * FROM your_table
ORDER BY INET_ATON(ip_address);

最新更新