Oracle查询今天、昨天、本周、上周、本月、上月数据方式

 更新时间:2023年07月29日 10:30:00   作者:王绍桦  
这篇文章主要介绍了Oracle查询今天、昨天、本周、上周、本月、上月数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Oracle查询今天、昨天、本周、上周、本月、上月数据

查询今天数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')

查询昨天数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE-1,'YYYY-MM-DD') 

查询本周数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE T_RKSJ >= TRUNC(NEXT_DAY(SYSDATE-8,1)+1) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1

查询上周数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE T_RKSJ >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)

查询本月数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')

查询上月数据:

SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM')

查询表名及字段信息数据:

SELECT A.TABLE_NAME 表名,A.COLUMN_NAME 字段名,A.COMMENTS 字段注释,B.DATA_TYPE 字段类型,B.DATA_LENGTH 字段长度,B.NULLABLE 是否为空,C.INDEX_NAME 索引名称
FROM USER_COL_COMMENTS A 
LEFT JOIN USER_TAB_COLUMNS B ON A.COLUMN_NAME = B.COLUMN_NAME AND A.TABLE_NAME=B.TABLE_NAME
LEFT JOIN USER_IND_COLUMNS C ON A.COLUMN_NAME = C.COLUMN_NAME AND A.TABLE_NAME=C.TABLE_NAME 
WHERE A.TABLE_NAME = '表名'
ORDER BY B.COLUMN_ID

备注:NEXT_DAY(SYSDATE,1)函数为当前系统时间的下个星期日时间,数字1代表星期日;

Oracle表中以某一天时间为条件的查询几种写法

写法一

将列转为字符串

select * from Example where to_char(DATE_T,'yyyy-mm-dd')='2018-07-30';

在不考虑sql语句的查询性能的情况下可以考虑这种写法。

写法二

对列截取或模糊查询

select * from Example where trunc(DATE_TRAVEL) = to_date('2018-07-30','yyyymmdd');
select * from Example where DATE_T like to_date('2018-07-30','yyyymmdd');

在不考虑sql语句的查询性能的情况下可以考虑这种写法。

写法三

不对列操作,通过设置并列条件

select * from Example  where DATE_T>= to_date('2018-07-30','yyyymmdd') and DATE_T< to_date('2018-07-30','yyyymmdd') +1;

这种写法没有对字段操作,如果在DATE_T上建立了索引,会走索引查询。查询性能较好

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Oracle 11g数据库安装与卸载的方法图解

    Oracle 11g数据库安装与卸载的方法图解

    如果小编使用的是win7系统,最好采用11g,否则很可能10g出现不兼容安装不成功的情况。下面给大家分享Oracle 11g数据库安装与卸载的方法图解,非常不错,感兴趣的朋友一起看看吧
    2016-09-09
  • Orace查询数据出现乱码的问题解决思路

    Orace查询数据出现乱码的问题解决思路

    经常有些朋友会遇到,我明明是输入的正确中文,为什么我在另外一台电脑上查询却出现乱码啦?其实这个是数据库在进行字符集转换的时候出现了问题,本文介绍解决方法,需要了解的朋友可以参考下
    2013-01-01
  • Oracle 要慌了!华为终于开源了自家的 Huawei JDK——毕昇 JDK!

    Oracle 要慌了!华为终于开源了自家的 Huawei JDK——毕昇 JDK!

    毕昇 JDK 是华为内部 OpenJDK 定制版 Huawei JDK 的开源版本,是一个高性能、可用于生产环境的 OpenJDK 发行版,感兴趣的朋友跟随小编一起看看吧
    2020-12-12
  • Oracle数据库中SQL开窗函数的使用

    Oracle数据库中SQL开窗函数的使用

    这篇文章主要介绍了Oracle数据库中SQL开窗函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法

    Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法

    这篇文章主要介绍了Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法的相关资料,需要的朋友可以参考下
    2016-08-08
  • oracle怎样才能彻底卸载干净

    oracle怎样才能彻底卸载干净

    Oracle安装上之后,通过自带的卸载工具一般都无法将程序卸载干净,导致下次的程序安装出错,这篇文章主要给大家介绍了关于oracle怎样才能彻底卸载干净的相关资料,需要的朋友可以参考下
    2023-11-11
  • Oracle监听器服务不能启动的解决方法

    Oracle监听器服务不能启动的解决方法

    这篇文章主要介绍了Oracle监听器服务不能启动的解决方法,需要的朋友可以参考下
    2014-07-07
  • Oracle实现某表随机抽取数据(随机性抽取)

    Oracle实现某表随机抽取数据(随机性抽取)

    这篇文章主要介绍了Oracle实现某表随机抽取数据(随机性抽取),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Oracle硬解析和软解析的区别分析

    Oracle硬解析和软解析的区别分析

    我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),就是每次执行都需要进行硬解析。还有一类就是DML语句,他们会根据情况选择要么进行硬解析,要么进行软解析。
    2014-08-08
  • 解读Oracle中代替like进行模糊查询的方法instr(更高效)

    解读Oracle中代替like进行模糊查询的方法instr(更高效)

    这篇文章主要介绍了解读Oracle中代替like进行模糊查询的方法instr(更高效),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论