10.12.1
10.12.10
10.12.11
10.12.12
10.12.13
10.12.14
10.12.15
10.12.16
10.12.17
10.12.18
10.12.19
10.12.2
10.12.3
10.12.4
10.12.5
10.12.6
10.12.7
10.12.8
10.12.9
这是一个 varchar 列。但是“10.12.19”是我需要的最大数据。我怎么才能得到它?
10.12.1
10.12.10
10.12.11
10.12.12
10.12.13
10.12.14
10.12.15
10.12.16
10.12.17
10.12.18
10.12.19
10.12.2
10.12.3
10.12.4
10.12.5
10.12.6
10.12.7
10.12.8
10.12.9
这是一个 varchar 列。但是“10.12.19”是我需要的最大数据。我怎么才能得到它?
SQL 代码
ORDER BY CAST(SUBSTRING_INDEX(col,'.',-1) AS SIGNED) DESC;
MySQL 还没有自然排序。自 2003 年以来,它一直是一个开放的功能请求:http ://bugs.mysql.com/bug.php?id=1588
我会在 SQL 之外执行此操作,或者更改值(或添加新列)以使数字宽度固定。