to_number方法怎么在orcale中使用
创始人
2024-12-27 14:02:48
0次

TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。

To_number函数的格式如下:

To_number(varchar2 or char,'format model')

To_number函数中也有很多预定义的固定格式:

格式值含义
9代表一个数字
0强迫0显示
$显示美元符号
L强制显示一个当地的货币符号
.显示一个小数点
,显示一个千位分隔符号

TO_NUMBER用法 将一个字符串转成数值

格式:TO_NUMBER(string,format) 即 TO_NUMBER(字符串,格式)

在“转换函数:TO_CHAR()用法之一 将一个数值转化成字符串 ”一文中 TO_CHAR 函数所用格式,都适合本函数。

例:

TO_NUMBER('123.45')

结果

123.45

TO_NUMBER('$123,456.78','$999,999.99')

结果

123,456.78

Oracle中to_number()函数的学习

1、

Converts a string to the NUMBER data type(将字符串转换为数字数据类型)
TO_NUMBER([, , ]) RETURN NUMBER
select to_number('00001228') from dual;--to_number('00001228') 1228
select trunc(to_number('123.123'),2) from dual;

结果为:123.12

2、

Converts a HEX number to FLOAT(转换一个十六进制数的浮标)
TO_NUMBER(, );
SELECT TO_NUMBER('0A', 'XX')
FROM dual;

结果为:10

3、

Converts a HEX number to DECIMAL(一个十六进制数转换为十进制)
TO_NUMBER(,
'') RETURN ;
SELECT TO_NUMBER(100000,'XXXXXXXX')
FROM dual;

结果为:1048576

4、

--to_number(expr)
--to_number(expr,format)
--to_number(expr,format,'nls-param')
 
select to_number('0123')number1,      --converts a string to number
    trunc(to_number('0123.123'),2) number2,
    to_number('120.11','999.99') number3,
     to_number('0a','xx') number4,    --converts a hex number to decimal
    to_number(100000,'xxxxxx') number5
from dual;

to_number方法怎么在orcale中使用

补充: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函数。

to_number方法怎么在orcale中使用

to_number方法怎么在orcale中使用

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

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

to_number方法怎么在orcale中使用

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

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

to_number方法怎么在orcale中使用

to_number方法怎么在orcale中使用

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

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

to_number方法怎么在orcale中使用

to_number方法怎么在orcale中使用

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

to_number方法怎么在orcale中使用

to_number方法怎么在orcale中使用

但是用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,简单粗暴。

to_number方法怎么在orcale中使用

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...