Oracle中的函数(日期、数学、系统)

日期函数介绍
日期函数用于处理date类型的数据
默认情况下日期格式是dd-mon-yy    即12-7月-86


1)sysdate:该函数返回系统时间

2)add_months(d,n)在d的日期上加上n个月
例如:add_months(hiredate,8)就是指在入职8个月

3)last_day(d):返回指定日期d所在月份的最后一天


?查找已经入职8个月多的员工
SQL> select * from emp where sysdate > add_months(hiredate,8);

?查找满10年服务年限的员工的姓名和受雇日期
SQL> select ename,hiredate from emp where sysdate >= add_months(hiredate,12*10);

?对于每个员工,显示其加入公司的天数
SQL> select ename 姓名,trunc(sysdate-hiredate) 入职天数 from emp;

?找出各月倒数第三天受雇的所有员工
SQL> select hiredate,ename from emp where last_day(hiredate)-2=hiredate;

在oracle测试的时候可以使用dual表

 


数学函数介绍
数学函数的输入参数和返回值的数据类型都是数字类型的。
数学函数包括cos,cosh,exp,ln,log,sin,sinh,sqrt,tan,tanh,acos,asin,atan,round

常用的:
1.round(n,[m])
n代表的是要四舍五入的数值,m是指四舍五入几位小数点,如果没有,则四舍五入到整数
SQL> select round(sal,1) from kkkk where ename='kkkk';

2.trunc(n,[m])
n代表的是要截取的,m的是截取小数点几位的,不采用四舍五入方式,要是没有m则不要小数,如果m是负数,则从整数位开始截取
SQL> select trunc(comm,1),comm from kkkk where ename='kkkk1';

3.mod(m,n):取模


4.floor(n):返回小于或是等于n的最大整数


5.ceil(n):返回大于或是等于n的最大整数

对数字的处理,在财务系统或者银行系统中用得最多,不同的处理方法,对财务报表有不同的结果。


具体函数的介绍
1.round(n,[m]):该函数用于四舍五入,如果省掉m,则四舍五入到则四舍五入到整数;如果m是正数,则四舍五入到小数点的m位后。如果m是负数,则四舍五入到小数点的m位前。

2.trunc(n,[m]):该函数用于截取数字,如果省掉m,就截去小数部分,如果m是正数就截取到小数点的m位后,如果m是负数,则截取到小数点的前m位

3.mod(m,n):取模
SQL> select mod(10,3) from dual;
 MOD(10,3)
----------
         1

4.floor(n):返回小于或是等于n的最大整数
SQL> select floor(comm),comm from kkkk where ename='kkkk2';
FLOOR(COMM)      COMM
----------- ---------
         65     65.34

5.ceil(n):返回大于或是等于n的最大整数
SQL> select ceil(comm),comm from kkkk where ename='kkkk2';
CEIL(COMM)      COMM
---------- ---------
        66     65.34


案例数据:2345.56   45.94
?显示在一个月为30天的情况所有员工的日薪金,忽略余数。
SQL> select trunc(sal/30),ename from emp;

SQL> select floor(sal/30),ename from emp;


其它的数学函数
abs(n):返回数字n的绝对值
acos(n):返回数字的反余弦值
asin(n):返回数字的反正弦值
atan(n):返回数字的反正切值
cos(n):求n的余弦值
exp(n):返回e的n次幂
log(m,n):返回对数值
power(m,n):返回m的n次幂

 

系统函数介绍

这个都是显示的是每个数据的系统属性
即有多少个数据就会显示多少行的结果

sys_context

1) terminal:当前会话客户所对应的终端的标识符
2)language:语言
3)db_name:当前数据库的名称
4)nls_date_format:当前会话客户所对应的日期格式
SQL>alter session set nls_date_format = 'yyyy-mm-dd';改日期的默认格式
5)session_user:当前会话客户所对应的数据库用户名
6)current_schema:当前会话客户所对应的默认方案名
7)host:返回数据库所在主机的名称
通过该函数,可以查询一些重要信息,比如你在使用哪个数据库?
select sys_context('userenv','db_name') from dual;

其中sys_context()中的第一个元素'userenv'是固定的
userev:user environment

方案的名字和用户的名字是一致的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值