Oracle 日期函数

Oracle之日期函数

sysdate: 函数返回当前服务器的系统日期时间。如果函数没有参数,则不能有"()"。

案例1:查询当前系统时间

select sysdate from dual;
案例2:使用sysdate作为列的默认值

create table t_user(
     userid number primary key,
     username varchar2(20),
     password varchar2(20),
     birth date default sysdate
)
(1) 函数与数字可进行加减运算,即date+n为指定的日期后n天的日期,date-n为指定日期前n天的日期
select sysdate+4 from dual;

(2) add_months(date1, n):求n个月后的日期

select add_months(sysdate,3) from dual;
(3) month_between(date1, date2):求指定的两个日期之间所经历的月数

--案例:查询所有员工姓名以及入职了几个月
           
select ename, months_between(hiredate,sysdate) ms from emp;

(4) round(date, 'MONTH'|'YEAR'):日期的四舍五入

    1) round(date, 'MONTH'):如果date的天数>=16日,则函数返回date的下个月第一天,否则返回date当月第一天。

select round(sysdate,'MONTH') from dual;

    2) round(date, 'YEAR'):如果date的月数>=7月,则函数返回date的下一年的第一天,否则返回本年的第一天。

select round(sysdate,'YEAR') from dual;

(5) trunc(date, 'month'|'year'):求本月或本年的第一天

select trunc(sysdate,'YEAR') from dual;
(6) extract(year|month from date):求date的年或者月的整数值

select extract(year from sysdate) year, extract(month from sysdate) month from dual;
 --案例:查询1987年入职的员工:               
select * from emp where extract(year from hiredate)=1987


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值