日期函数

(1)sysdate:返回当前系统的日期时间
   
   
  1. SELECT sysdate FROM dual;

(2)日期类型和数字类型可以做加减运算:一个日期加减一个数字返回的还是一个日期(单位是天)
   
   
  1. -- 3天后
  2. SELECT sysdate+3 FROM dual;
  3. -- 100天以前
  4. SELECT sysdate-100 FROM dual;
  5. -- 25分钟以后
  6. SELECT sysdate+1/24/60*25 FROM dual;

(3)一个日期减去另外一个日期返回的是两个日期间隔的天数
   
   
  1. SELECT hire_date,trunc(sysdate-hire_date) AS 间隔天数 FROM emp;

(4)months_between(日期1,日期2):返回两个日期间隔多少个月
例:查询每个员工的编号,姓名,入职日期,工龄
   
   
  1. SELECT employee_id,last_name,hire_date,
  2. trunc(months_between(sysdate,hire_date)/12) AS 工龄
  3. FROM employees;

(5)add_months(日期,N):给一个日期加减若干个月,返回一个新日期,N为正数表示加,负数表示减
例:当前是将
   
   
  1. SELECT add_months(sysdate,-15) FROM dual;

(6)查询入职超过20年的员工信息(months_between和add_months两种方式)
   
   
  1. SELECT *
  2. FROM employees
  3. WHERE trunc(months_between(sysdate,hire_date)/12)>=20;
    
    
  1. SELECT *
  2. FROM employees
  3. WHERE add_months(hire_date,20 * 12)<=sysdate;

(7)next_day(日期,星期几):返回以指定日期为准,下一个最近的星期几的日期
   
   
  1. SELECT next_day(sysdate,'星期五') FROM dual;
PS:可以用数字1~7代表日~六
   
   
  1. SELECT next_day(sysdate,7) FROM dual;

(8)last_day(日期):返回指定日期的月最后一天的日期
   
   
  1. SELECT last_day(sysdate) FROM dual;

(9)round(日期[,日期单位]):对日期进行四舍五入
   
   
  1. SELECT round(sysdate) FROM dual;
  2. SELECT round(sysdate,'month') FROM dual;
  3. SELECT round(sysdate,'year') FROM dual;

(10)trunc(日期[,日期单位]):对日期进行截断
   
   
  1. SELECT trunc(sysdate) FROM dual;
  2. SELECT trunc(sysdate,'month') FROM dual;
  3. SELECT trunc(sysdate,'year') FROM dual;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值