在数据库中,它存储A1,A2,A10,A12,A5,A8的值,但当我检索它时,它显示如下: -
A1,A10,A12,A2,A5,A8
有没有办法正确排序?喜欢
A1,A2,A5,A8,A10,A12
如果字符串始终以单个字母/数字前缀开头,那么您可以使用
SELECT no from my_table order by substring(no,1,1), substring(no,2)+0
Run Code Online (Sandbox Code Playgroud)
在PHP中,您可以使用usort在字段上返回strnatcasecmp调用的结果,在多维数组中对其进行排序.
usort($records, function($a, $b){return strnatcasecmp($a["fieldname"], $b["fieldname"]);});
Run Code Online (Sandbox Code Playgroud)