欢迎投稿

今日深度:

Oracle varchar 字段排序问题,oraclevarchar

Oracle varchar 字段排序问题,oraclevarchar


数据库字段:



想要的结果:


实际查询的结果:



解决方法:使用CAST函数把varchar2转为int类型

order by CAST(CODE AS INTEGER)



oracle排序问题:一个varchar型字段,有数据1,2,11,c1等,怎排序成1,2,11,c1

select 字段 from (
select 字段,ascii(字段) b from 表名 where ascii(字段)<=48 or ascii(字段)>=57
union all
select 字段,cast(字段 as int) b from 表名 where ascii(字段)>=48 and ascii(字段)<=57)c
order by b
 

oracle 里面 8月28日 是用varchar存的, 在SQL语句里要对这列排序, 怎破?

如果你的日期格式是规范的“2012年08月28日”格式可以直接用来排序,没有问题的。
如果你的日期格式不是规范的“2012年8月28日”格式,需要转换两次就可以了。
例:to_char(to_date('2012年8月28日','YYYY"年"MM"月"DD"日"'),'YYYYMMDD')
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3521.html NewsArticle Oracle varchar 字段排序问题,oraclevarchar 数据库字段: 想要的结果: 实际查询的结果: 解决方法:使用CAST函数把varchar2转为int类型 order by CAST(CODE AS INTEGER) oracle排序问题:一个varchar型字...
评论暂时关闭