Oracle中对字符串类型的数字正确排序

一、使用【ORDER BY 字段 ASC】对字符串类型数字排序得不到想要的结果

SELECT 字段名称 FROM 表名称 ORDER BY 字段名称 ASC

二、问题分析

 因为排序的字段是字符串类型,所以【排序时字符从左向右依次比较】

三、解决方法

①使用Oracle中的【CAST】函数将字段转为数字类型然后再排序即可

//CAST函数转换字段类型
CAST(字段名称 AS 数字类型)//比如:将Varchar字段BINN转为INTEGER类型
CAST(BINN AS INTEGER)

②解决开头的排序不正确的sql语句如下

SELECT 字段名称 FROM 表名称 ORDER BY CAST(字段名称 AS INTEGER) ASC

 

本文链接:https://my.lmcjl.com/post/15869.html

展开阅读全文

4 评论

留下您的评论.