Php 比较MySQL varchars
当我对数据库中的列进行desc/asc排序时,我遇到了一个问题,它是这样排序的Php 比较MySQL varchars,php,mysql,Php,Mysql,当我对数据库中的列进行desc/asc排序时,我遇到了一个问题,它是这样排序的 9980 91 883 51 507 460 286 243 23 2131 现在我想这是因为我做了ColumVarchar。无论如何,是否要让它在不将列更改为int的情况下正确排序 谢谢如果您希望将项目排序为数字,请将其转换为整数: ORDER BY CAST (field AS SIGNED INTEGER) 如果必须: ORDER BY CAST(`YOUR_COL` AS SIGNED) 为了描述 OR
9980
91
883
51
507
460
286
243
23
2131
现在我想这是因为我做了ColumVarchar。无论如何,是否要让它在不将列更改为int的情况下正确排序
谢谢如果您希望将项目排序为数字,请将其转换为整数:
ORDER BY CAST (field AS SIGNED INTEGER)
如果必须:
ORDER BY CAST(`YOUR_COL` AS SIGNED)
为了描述
ORDER BY CAST(`YOUR_COL` AS SIGNED) DESC
您反对将col更改为int吗?业务需求,而不是我的需求……即使这是可能的(请参见下面的答案),对已转换列进行排序可能比将列转换为正确的数据类型并使用该数据类型进行排序要糟糕得多。