Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 比较MySQL varchars_Php_Mysql - Fatal编程技术网

Php 比较MySQL varchars

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

当我对数据库中的列进行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)
为了描述

ORDER BY CAST(`YOUR_COL` AS SIGNED) DESC

您反对将col更改为int吗?业务需求,而不是我的需求……即使这是可能的(请参见下面的答案),对已转换列进行排序可能比将列转换为正确的数据类型并使用该数据类型进行排序要糟糕得多。