请我有一个包含一些值(文本以及一些 int 或 float 值)的字段值(文本类型)。
所以我只想选择 float 和 integers 值并按字段value排序主题。
目前我可以单独获得浮点数,但问题是结果我以文本格式而不是浮点或整数格式排序主题(我猜这很正常)。例子 :
33
33358
80
88000
90
99
请大师们,我怎么能告诉我的查询将结果视为浮点数而不是文本并得到这个结果:
33
80
90
99
33358
88000
提前致谢
请我有一个包含一些值(文本以及一些 int 或 float 值)的字段值(文本类型)。
所以我只想选择 float 和 integers 值并按字段value排序主题。
目前我可以单独获得浮点数,但问题是结果我以文本格式而不是浮点或整数格式排序主题(我猜这很正常)。例子 :
33
33358
80
88000
90
99
请大师们,我怎么能告诉我的查询将结果视为浮点数而不是文本并得到这个结果:
33
80
90
99
33358
88000
提前致谢
ORDER BY field * 1
或者
ORDER BY CAST(field as DECIMAL(10,5))
两者都应该做同样的事情,但第一个更容易/更快地编写。
像下面的代码一样使用
ORDER BY ABS(columnname)
在文本类型的字段中存储混合值不是一个好主意。如果您想对字段进行排序和过滤,我建议将它们用作单独的字段 - text、int、float 等。
如果您作为数据库管理员深入,它将有负面的性能。
当您在查询中选择该变量然后按该列对结果集进行排序时,将 VALUE 转换为浮点/整数格式。
eg./ SELECT CAST(value as decimal(10,5)) AS customname FROM tablename order by customname
记住,你可以投射到任何你想要的东西。