Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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
Mysql/PHP如何以浮点格式选择和排序结果?_Php_Mysql_Sql Order By - Fatal编程技术网

Mysql/PHP如何以浮点格式选择和排序结果?

Mysql/PHP如何以浮点格式选择和排序结果?,php,mysql,sql-order-by,Php,Mysql,Sql Order By,请给我一个字段值(键入文本),其中包含一些值(文本以及一些int或float值) 因此,我只想选择float和integers值,并按字段value排序主题 目前,我可以单独获得浮点值,但问题是,结果是我得到了文本格式的主题排序,而不是浮点或整数格式(我想这是正常的)。例如: 33 33358 80 88000 90 99 请各位高手,我怎么告诉我的查询把结果看作是浮动而不是文本,而得到的结果是: 33 80 90 99 33358 88000 提前感谢按照下面的代码使用 ORDER BY

请给我一个字段(键入文本),其中包含一些值(文本以及一些int或float值)

因此,我只想选择float和integers值,并按字段value排序主题

目前,我可以单独获得浮点值,但问题是,结果是我得到了文本格式的主题排序,而不是浮点或整数格式(我想这是正常的)。例如:

33
33358
80
88000
90
99

请各位高手,我怎么告诉我的查询把结果看作是浮动而不是文本,而得到的结果是:

33
80
90
99
33358
88000

提前感谢

按照下面的代码使用

ORDER BY ABS(columnname)


两者都应该做同样的事情,但第一个更容易/更快地编写。

在查询中选择该变量,然后按该列排序结果集时,将值转换为float/int格式

例如/ 从tablename order by customname中选择CAST(值为十进制(10,5))作为customname


请记住,您可以强制转换为任何您想要的值。

在文本类型的字段中存储混合值不是一个好主意。如果您想对字段进行排序和筛选,我建议将它们作为单独的字段使用—文本、int、float等。

如果你作为数据库管理员深入,它的性能会很差。

如果
选择ABS(-32),会发生什么
ORDER BY field * 1
ORDER BY CAST(field as DECIMAL(10,5))