ORACLE初学第六篇(数值类型及函数)

数值类型及函数

number 是 oracle 中的数据类型;number(precision,scale); Precision,scale 均可选;
Precision 代表精度,sacle 代表小数位的位数;Precision 范围[1,38] scale 范围[-84,127] 举例:
12345.678 Precision 是 8 scale 是 3;
number(6,3)类型和number(6,-3)类型插入数据的结果如下:

SQL> 
SQL> insert into a2 values(1,'xiao','2222',123.4556,1234.5678);
1 row inserted
SQL> select * from a2 where id=1 and name='xiao';
        ID NAME                 PASSWORD                   EG    EG_EG
---------- -------------------- -------------------- -------- --------
         1 xiao                 2222                  123.456     1000
//number(6,3)类型时,插入像23.67:前后会自动补全前面补空格小数点后面不足三位补充0
//number(6,-3)类型时,插入像123.456数据,小数点前面不足四位数值为0
//小数点前面有四位数及以上第四位以前的都变为0像1234.567插入数据库数据将变成1000刚好解释上面的例子

一、数值求绝对值以及取整函数

//abs()函数
应用例子:
select abs(n1) from t_number where id=1;
//round()函数四舍五入
select round(n1,2) from t_number where id=1;//解释:round(n1,2)中的第二个参数2为小数的位数如果只有一个参数像round(n1)默认就没有小数了
//向上取整ceil()
select ceil(12.4) from dual;//输出13
select ceil(-12,3)from dual;//输出-12 ***!注意***
//向下取整floor()
select ceil(12.4) from dual;//输出12
//取模函数mod(5,3)
select mod(5,3) from dual;//输出2
//正负函数sign()
select sign(0)from dual;//输出0
select sign(-12)from dual;//输出-1
select sign(212)from dual;//输出1

二、其他函数

Sqrt() 求平方根:select sqrt(9) from dual;
Power()求乘方:select power(2,3) from dual;

> SQL> select power(2,10)from dual; POWER(2,10)
> -----------
>        1024
//截取函数trunc()第二个参数是截取小数的个数
> SQL> select trunc(123.456,2) from dual; TRUNC(123.456,2)
> ----------------
>           123.45

三、to_char()格式化数值函数

//为了美观前后补全零。

> SQL> select to_char(123.456,'0000.0000') from dual;
> TO_CHAR(123.456,'0000.0000')
> ----------------------------
>  0123.4560

 ***如果多了就会随便弄数据***例如:

>  SQL> select to_char(22123.456,'0000.0000') from dual;
> TO_CHAR(22123.456,'0000.0000')
> ------------------------------
> ##########

-----------99999的形式--------------------
//如果是99999替代的话,小数部分不足补充零整数部分不补充

> SQL> select to_char(123.456,'9999.9999') from dual;
> TO_CHAR(123.456,'9999.9999')
> ----------------------------
>   123.4560

----------------999,999,999逗号分隔的形式------------------

> SQL> select to_char(12123.456,'99,999,999.9999') from dual;
> TO_CHAR(12123.456,'99,999,999.
> ------------------------------
>      12,123.4560
------------FM99,999,999去空格的形式小数后面有零也会去掉--------------
------------------$的形式---------------------
> SQL> select to_char(12123.456,'$99,999,999.9999') from 
> dual; TO_CHAR(12123.456,'$99,999,999
> ------------------------------
>      $12,123.4560
中文的¥可以用L来实现
>SQL> select to_char(12123.456,'FML99,999,999.9999') from 
> dual; TO_CHAR(12123.456,'FML99,999,9
> ------------------------------ 
> ¥12,123.456
FM上面讲过的这里不多做解释了
------------C显示具体的货币-------------------
> SQL> select to_char(12123.456,'FM99,999,999.9999C') from dual;
> TO_CHAR(12123.456,'FM99,999,99
> ------------------------------ 12,123.456CNY

下一篇进入日期类的学习

猜你喜欢

转载自blog.csdn.net/qq_31681017/article/details/74504387