数据库里面有:
oracle123
oracle2
oracle45
oracle9
这些字符串,我想取出最大的那条 oracle123,但是用max选出的是oracle9,求助
oracle123
oracle2
oracle45
oracle9
这些字符串,我想取出最大的那条 oracle123,但是用max选出的是oracle9,求助
解决方案 »
- 小第有两个问题想不通,请教,急!
- oracle里面,action调用ibatis里面我想传一个不是form的参数值,sql如何写啊?
- 如何设置Oracle的参数,是Oracle数据库初始化最合理?关于倒入倒出的问题???
- 小弟是菜鸟,提个简单的问题,大家别BS我啊
- PL/SQL问题 DBMS_UTILITY.get_time 可以获得当前时间,但上一天的时间怎么取?
- 下面的SQL语句为什么不对?!
- 大力兄:在.NET里面,用 mydata.Fill(ds); 得到Oracle的存储过程的记录集,抛出一个异常,请帮我看看怎么解决?(
- 怎么写日期类型的sql语句,谢谢
- 为什么我的表格中只能放613条记录
- 问题求助!谢谢!
- sql2000导oracle10g
- win7 64 sqlplus ORA-12154 TNS:无法解析指定的连接标识符
select max(to_number(replace(val, 'oracle', ''))) maxval from t;
select 'oracle'||max(to_number(replace(val, 'oracle', ''))) maxval from t;
前缀都是'oracle' 这条就满足你的条件了!!!
针对这题有2中提取方法: 替换非数字 regexp_replace(c1,'[^0-9]+',''))
直接提取数字 REGEXP_SUBSTR(c1,'[0-9]+')
(select 'oracle123' name from dual
union all
select 'oracle2' name from dual
union all
select 'oracle45' name from dual
union all
select 'oracle9' name from dual)
select * from (select t.name from t order by to_number(regexp_substr(t.name,'\d+')) desc) where rownum=1;