环境:

create table rq (xm varchar2(10),age number,zw varchar(10),rzrq date);
insert into rq values ('小崔',23,'运维工程师',(to_date('2017-07-02','yyyy-mm-dd')));
insert into rq values ('小赵',29,'java工程师',(to_date('2013-04-12','yyyy-mm-dd')));
insert into rq values ('小白',24,'网络工程师',(to_date('2016-10-02','yyyy-mm-dd')));
insert into rq values ('小虎',43,'项目管理师',(to_date('2003-09-15','yyyy-mm-dd')));
insert into rq values ('小叶',2,'技术工程师',(to_date('2009-07-02','yyyy-mm-dd')));
select * from rq

日期+数字=日期,表示若干天之后的日期。

select a.*,rzrq +10 from rq a

加法 
select a.*,add_months(rzrq,12) from rq a; --------加1年 
select a.*,add_months(rzrq,1) from rq a; --加1月 
select a.*,to_char(rzrq+7,'yyyy-mm-dd HH24:MI:SS') from rq a;---加1星期 
select a.*,to_char(rzrq+1,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1天 
select a.*,to_char(rzrq+1/24,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1小时 
select a.*,to_char(rzrq+1/24/60,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1分钟 
select a.*,to_char(rzrq+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1秒

日期-数字=日期,表示若干天之前的日期。

select a.*,rzrq -10 from rq a

日期-日期=数字,表示两个日期间的天数,但是肯定是大日期-小日期。

select a.*,trunc(sysdate - rzrq) from rq a

加法 
select a.*,add_months(rzrq,-12) from rq a; --------加1年 
select a.*,add_months(rzrq,-1) from rq a; --加1月 
select a.*,to_char(rzrq-7,'yyyy-mm-dd HH24:MI:SS') from rq a;---加1星期 
select a.*,to_char(rzrq-1,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1天 
select a.*,to_char(rzrq-1/24,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1小时 
select a.*,to_char(rzrq-1/24/60,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1分钟 
select a.*,to_char(rzrq-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from rq a; --加1秒

求出每个员工到今天为止的雇佣月份

select a.*,trunc(months_between(sysdate,rzrq)) from rq a

查询出5年前受雇佣的员工信息:

select * from rq where trunc(months_between(sysdate,rzrq))/5 >12

注意:在开发中,如果是日期函数,建议用此语句,可以避免闰年的问题。

获取当前日期及本月第几周:

select '当前系统日期:'||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'本月第'||to_char(sysdate,'w')||'周' from rq

获取当前日期是一个星期中的第几天:

注意:星期日是第一天

日期是星期几中文显示::

select '当前系统日期:'||to_char(sysdate),'本周'||to_char(sysdate,'day') from rq

解释:

yyyy 年

q 季度

mm 月

dd 日

ddd 年中的第几天

WW 年中的第几个星期 
W 该月中第几个星期 
D 周中的星期几 
hh 小时(12) 
hh24 小时(24) 
Mi 分 
ss 秒

查看当前系统日期:

select a.*,sysdate from rq a

获取当天凌晨0点0分0秒的日期

select trunc(sysdate) from rq;

获取这天的最后一秒

select trunc(sysdate) + 0.99999 from rq;

获取小时的具体数值

select trunc(sysdate) + 1/24 from rq; 
select trunc(sysdate) + 7/24 from rq;

获取明天凌晨0点0分0秒的日期

select trunc(sysdate+1) from rq; 
select trunc(sysdate)+1 from rq;

获取本月一日的日期

select trunc(sysdate,'mm') from rq;

获取下月一日的日期

select trunc(add_months(sysdate,1),'mm') from rq;

返回当前月的最后一天

select last_day(sysdate) from rq;

select last_day(trunc(sysdate)) from rql;

select trunc(last_day(sysdate)) from rq;

select trunc(add_months(sysdate,1),'mm') - 1 from rq;

获取一年的每一天

select trunc(sysdate,'yyyy')+ rn -1 date0 from (select rownum rn from all_objects where rownum<366);

获取今天是今年的第N天

select to_char(sysdate,'ddd') from dual;

如何在给现有的日期加上2年

select add_months(sysdate,24) from dual;

判断某一日子所在年分是否为润年

select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;

判断两年后是否为润年

select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;

sysdate()简单用法的更多相关文章

  1. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  2. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  3. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  4. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  5. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  6. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  7. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  8. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

  9. listActivity和ExpandableListActivity的简单用法

    http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...

随机推荐

  1. SQL Server 笔记

    第一章数据库的基本操作: >创建数据库: create database my_db(逻辑名称) on primary ( name='my_db.mdf',(物理名称) filename='F ...

  2. git第四节----git commit message

    @git  commit message 什么是git commit message :git commit -m '每次提交时编辑的内容' git commit message的好处:      1 ...

  3. POJ 2349 Arctic Network(最小生成树中第s大的边)

    题目链接:http://poj.org/problem?id=2349 Description The Department of National Defence (DND) wishes to c ...

  4. 浅谈JSONP (vue-jsonp组件 XXXtoken:报错处理)

    由于同源策略的存在,特别是前后端两个项目存在的情况下,客户端访问服务端必然存在跨域的情况,而使用jsonp,则不存在这个问题. 主要是因为jsonp是在页面中插入一段js代码,而请求返回的也是一段js ...

  5. SQL Server T—SQL 函数

    一 聚合函数(统计函数)!!!!! 计算个数   count(  )   select count(*) from 表名 求和  sum(  ) select sum(列名) from 表名 求平均数 ...

  6. 实现泛型数组的冒泡排序算法 C#

    public static class BubbleSortTool { public static void BubbleSort<T>(this T[] array, Ascendin ...

  7. Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present o AJAX跨域请求解决方法

    今天出现了一个问题找了好久先看代码: 这可能是个BUG吧插入代码: dataType: 'jsonp', crossDomain: true, 最终:

  8. 从xml文件取值

    假设有个 test.xml,包含以下字段: <config> <property name="login_protocol" value="http&q ...

  9. shell_语法

    1.运算符: 1.基本语法:$((运算式))或$[运算式] 2.expr + n // 注意运算符中间有空格 再用expr时要加 ` ` 号,* 号加转义字符\  \* ,表示乘 2.判断语句 [ c ...

  10. 第三十天- 进程 Process模块 空间隔离

    1.进程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体: ...