oracle中数字排序问题
2014-11-06 11:02
204 查看
oracle 中有若需对一个字段(假设设定为:user_no)进行排序,而其值为,1,2,3.,5,6,9,10,12,K3,K1。
我们直接使用 order by user_no ,发现得到的排序顺序为 :1,10,12,2,5,6,9,K1,K3。
但实际上我们要的排序顺序为:1,2,5,6,9,,10,12,K1,K3 ,得到数据与我们想要的数据不一样。
这时候我们需要用accii 值,去做处理,得到我们想要的数据。语句如下:
order by lpad(decode(sign(ascii(SUBSTR(user_no,-1))-57),1,user_no,user_no||'A'),5,'0');
我们直接使用 order by user_no ,发现得到的排序顺序为 :1,10,12,2,5,6,9,K1,K3。
但实际上我们要的排序顺序为:1,2,5,6,9,,10,12,K1,K3 ,得到数据与我们想要的数据不一样。
这时候我们需要用accii 值,去做处理,得到我们想要的数据。语句如下:
order by lpad(decode(sign(ascii(SUBSTR(user_no,-1))-57),1,user_no,user_no||'A'),5,'0');
相关文章推荐
- oracle"字符串型数字"排序问题
- 解决Oracle字符串中包含数字、特殊符号的排序问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- oracle 含数字的字符串的排序问题
- Oracle 数字与空值的排序问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- Oracle 数字与空值的排序问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- Oracle 数字与空值的排序问题
- ORACLE对字母和数字混合的数据排序
- oracle、sqlserver数据库排序空值null问题解决办法
- oracle使用小技巧--解决按号单排序和横向记录拼字段问题
- Collection.sort()排序之数字前缀问题
- 关于 Oracle in 排序问题
- 关于oracle分组后组外排序的问题
- 关于map中含数字string的排序问题
- oracle、sqlserver数据库排序空值null问题解决办法
- ORACLE SQL的隐式排序问题
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题