orcale中的to_number方法使用


当前第2页 返回上一页

补充:oracle中to_number字符串转数字、max取最大值、dbms_random.value生成随机数及对小数做截取,四舍五入操作的函数

oracle中to_number、max、dbms_random.value、trunc、round函数的用法及生成随机整数的实现方式。

1、 to_number函数很简单,就是把字符类型转换成数字类型。

select to_number('123.8') from dual;

select to_number('123') from dual

2、max函数很简单,从结果集中取出最大值。下图为基础数据。在此基础上应用max函数。

3、dbms_random.value(a,b)函数可生成随机浮点数。

a指下限,b指上限,将会生成下限到上限之间的数字,但不包含上限,即生成的小数在[a,b)区间。

4、trunc(3.141592,4)保留小数到小数点后4位,不做四舍五入操作。

若第二个参数不传,默认保留整数。

5、round(3.141592,4)四舍五入到小数点后4位。

同样,若第二个参数不传,默认四舍五入到整数。

6、随机生成[1,7]之间的整数, dbms_random.value结合round或者trunc实现。

但是用select round(dbms_random.value(1,7)) from dual随机生成[1,7]之间的随机数是不科学的

以随机生成[1,4]之间的随机数为例,若是这么写select round(dbms_random.value(1,4)) from dual

当dbms_random.value(1,4)生成的随机数在1~1.5之间时round(dbms_random.value(1,4))值为1

当dbms_random.value(1,4)生成的随机数在1.5~2.5之间时round(dbms_random.value(1,4))值为2

当dbms_random.value(1,4)生成的随机数在2.5~3.5之间时round(dbms_random.value(1,4))值为3

当dbms_random.value(1,4)生成的随机数在3.5~4之间时round(dbms_random.value(1,4))值为4

可见生成1和4的概率为1/6,生成2和3的概率为2/6,所以也就谈不上随机生成了。

可改成select round(dbms_random.value(0.5,4.5)) from dual,这样生成每一个数的概率就相同了。

用round和trunc函数结合dbms_random.value生成随机数时一定注意这一点。

建议这种情况直接用trunc,简单粗暴。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。


标签:Oracle

返回前面的内容

相关阅读 >>

oracle怎么清空表数据

oracle中游标cursor的用法详解

oracle数据库系统紧急故障处理方法

通过 plsql 连接远程 oracle数据库的多种方法

45个非常有用的 oracle 查询语句小结

mysql与oracle的语法区别详细对比

oracle数据库事务隔离级别介绍

oracle学习笔记-查询篇

关于oracle多表连接,提高效率,性能优化操作

oracle存储过程及调用

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...