ORACLE中怎样比较VARCHAR2数值 请问在ORACLE中有什么办法能不用TO_NUMBER()函数对VARCHAR2类型的数值(FLOAT型)按大小进行排序?有谁知道的请将办法告诉我,有帮助的一定加分,在线等... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以转换成相同长度再排序如:create table test(col varchar2(10));select * from test order by lpad(col,10,'0'); 你说的办法的确可以,但是SQL语句里面不能用函数。这事系统的问题,我就是卡在这里了。 plsql 中不能使用函数?? 那你应该解决系统的问题 就是,有没有什么办法在ORACLE里面进行编程? oracle编程,当然是可以的,通过写存储过程来解决。搜一下oracle存储过程的资料吧如:http://tech.it168.com/a2009/0305/267/000000267674.shtml 最简单而且有效的还是to_number另外float数值要进行数字比较,本来就应该存在varchar2类型的字段里不用to_number的话就需要对比较的对象进行转换,转成和前者长度相等,小数位数相同的字符串来比较 什么系统啊?不能用函数,那你的统计怎么办?varchar2的数值比较一般要格式化成固定长度,小数点前后补齐的 呵呵!这可能是底层的问题了。我的SQL语句是通过标签传到后台的。底层不能识别TO_NUMBER()函数。 不是专门针对ORACLE数据库的自定义标签。 SQL> select '88'-'77' from dual; '88'-'77'---------- 11如果不用to_number函数,只要你的varchar2能够在转换成number的前提下,oracle是会自动转型的。 是这样的,如果不考虑性能或其他意外情况,oracle会尽量来满足用户的期望操作,前提是要给出能让oracle帮你完成的数据,你给的这个串首先要是个小数,否则oracle无能为力了 oracle如何在多实例同时执行一个语句?? 简单的问题 大家来帮我看看怎么提高这个存储过程的效率,分不够可以再加!!!!在线等!!!!急!!!! oracle监听服务的问题 以前用SQL SERVER的,请指教现在在ORACLE平台我应该怎么做 oracle9I刚刚安装完毕 可否在oracle数据库中设置定时执行程? oracle有没有类似Access中的自动递增类型 有谁遇到过这样的有关oms的问题? 求助,oracle乱码 Oracle Ssql Server异构 ORACLE中一条sql语句同时修改两个表的数据
如:
create table test(col varchar2(10));
select * from test order by lpad(col,10,'0');
搜一下oracle存储过程的资料吧
如:http://tech.it168.com/a2009/0305/267/000000267674.shtml
另外float数值要进行数字比较,本来就应该存在varchar2类型的字段里
不用to_number的话就需要对比较的对象进行转换,转成和前者长度相等,小数位数相同的字符串来比较
varchar2的数值比较一般要格式化成固定长度,小数点前后补齐的
----------
11如果不用to_number函数,只要你的varchar2能够在转换成number的前提下,oracle是会自动转型的。