写在前面

在使用Oracle数据开发的时候,经常会使用到Oracle的日期的查询。

以下总结有关Oracle日期查询相关。

一、年、月、日、季、周

1.年

SELECT TO_CHAR(SYSDATE,'YYYY')||'年' FROM DUAL;

2.月

SELECT TO_CHAR(SYSDATE,'MM')||'月' FROM DUAL;

3.日

SELECT TO_CHAR(SYSDATE,'DD')||'日' FROM DUAL;

4.季

SELECT TO_CHAR(SYSDATE,'Q')||'季' FROM DUAL;

5.周

SELECT TO_CHAR(SYSDATE,'IW')||'周' FROM DUAL;

二、EXTRACT 年、月、日

1.年

SELECT EXTRACT(YEAR FROM SYSDATE)||'年' FROM DUAL;

2.月

SELECT EXTRACT(MONTH FROM SYSDATE)||'月' FROM DUAL;

3.日

SELECT EXTRACT(DAY FROM SYSDATE)||'日' FROM DUAL;

三、上个星期一到星期天

SELECT
TO_CHAR(SYSDATE,'yyyymmdd')-TO_NUMBER(TO_CHAR(SYSDATE,'d')-1)-6,
TO_CHAR(SYSDATE,'yyyymmdd')-TO_NUMBER(TO_CHAR(SYSDATE,'d')-1) FROM DUAL;

四、1分钟前、1小时前、1月前、1年前

1.一分钟前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' MINUTE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

2.1小时前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' HOUR,'YYYY-MM-DD HH:24:MI:SS') FROM DUAL;

3.1月前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' DAY,'YYYY-MM-DD HH:24:MI:SS') FROM DUAL;

4.1年前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' YEAR,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

五、当月、上月、当天、前天

1.当月

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,0),'YYYY-MM-DD') FROM DUAL;

2.上月

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM-DE') FROM DUAL;

3.当天

SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;

4.前天

SELECT TOCHAR(SYSDATE-1,'YYYY-MM-DD') FROM DUAL;

有关Oracle 查询时间的记录 (1)的更多相关文章

  1. Oracle查询库中记录数大于2千万的所有表

    Oracle查询库中记录数大于2千万的所有表 假如当前用户拥有select any table权限,则可以使用下列sql语句: select table_name, num_rows from dba ...

  2. oracle查询时间

    oracle查询和时间有关的命令: 方法一:select * from dual where time between to_date('2012-06-18 00:00:00','yyyy-mm-d ...

  3. Oracle 查询时间在当天的数据

    要实现这个功能需要用到trunc这个函数对时间的操作 select trunc(sysdate) from dual --2014-12-27 今天的日期为2014-12-27 select trun ...

  4. ORACLE查询删除重复记录

     比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 复制代码 代码如下: select p1.*   from persons  p1,pers ...

  5. ORACLE查询删除重复记录三种方法

    本文列举了3种删除重复记录的方法,分别是rowid.group by和distinct,小伙伴们可以参考一下.   比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完 ...

  6. Oracle查询DQL脚本记录

    --查询列 Select t.sname,t.ssex,t.class from student t --t 别名; Select *from student t; --* 代表查询表内所有数据 '; ...

  7. Oracle查询时间字段并排序

    select * from geimstatus_history twhere to_date(t.data_time,'YYYY-mm-dd') = to_date(sysdate,'YYYY-mm ...

  8. oracle 根据时间字段查询

    oracle 根据时间字段查询数据 ROWNUM 是对前面查询的记录做限制,比如查询的记录 > 2000 条,那么只取前面的 2000 条 ''' SELECT * FROM (SELECT C ...

  9. oracle中根据当前记录查询前一条和后一条记录

    select * from aa01_2014 where aaa001=(select c.p from (select aaa001,lag(aaa001,1,0)  over (order by ...

随机推荐

  1. tp5中使用原生sql查询总结【转】

    注意事项: 1.先在database.php中配置好数据库 2.只要是数据库操作必须引用 use/think/Db;严格区分大小写. 下面是方法: public function hello5() { ...

  2. XGBoost 完整推导过程

    参考: 陈天奇-"XGBoost: A Scalable Tree Boosting System" Paper地址: <https://arxiv.org/abs/1603 ...

  3. Linux下经常使用的C/C++开源Socket库【转】

    转自:https://www.cnblogs.com/gccbuaa/p/7015599.html 1.      Linux Socket Programming In C++ : http://t ...

  4. 201871010124-王生涛《面向对象程序设计(java)》第十三周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...

  5. JVM-卡表(Card Table)

    简介 现代JVM,堆空间通常被划分为新生代和老年代.由于新生代的垃圾收集通常很频繁,如果老年代对象引用了新生代的对象,那么,需要跟踪从老年代到新生代的所有引用,从而避免每次YGC时扫描整个老年代,减少 ...

  6. 怎么删除STL容器的元素

    在STL容器有顺序容器和关联容器两种. 顺序容器删除元素的方法有两种: 1.c.erase(p) 从c中删除迭代器p指定的元素.p必须指向c中一个真实元素,不能等于c.end().返回一个指向p之后元 ...

  7. [LeetCode] 650. 2 Keys Keyboard 两键的键盘

    Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...

  8. [LeetCode] 255. Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列

    Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ...

  9. 认识map-reduce

    基本概念 map-reduce1.0 例子: hadoop streaming 用语言驱动map-reduce的话,使用的hadoop streaming命令,可以通过python,php,java来 ...

  10. Oracle--缓冲区忙等待事件

    一,缓冲区等待事件 缓冲区忙等待是I/O-bound Oracle系统中比较常见的现象,特别是在Oracle STATSPACK报告的前五个忙等待的读(顺序/分散)系统中,如前5个定时事件: % 总和 ...