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删除超过N天数据脚本的方法

    oracle删除超过N天数据脚本的方法

    这篇文章主要介绍了oracle删除超过N天数据脚本的方法,本文通过sql语句给大家详细说明讲解,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • Oracle回滚段的概念,用法和规划及问题的解决

    Oracle回滚段的概念,用法和规划及问题的解决

    Oracle回滚段的概念,用法和规划及问题的解决...
    2007-03-03
  • Oracle结合Mybatis实现取表TOP 10条数据

    Oracle结合Mybatis实现取表TOP 10条数据

    这篇文章主要介绍了Oracle结合Mybatis实现取表TOP 10条数据的相关资料,需要的朋友可以参考下
    2017-11-11
  • Oracle通过RMAN备份至MinIO且防止数据删除的详细步骤

    Oracle通过RMAN备份至MinIO且防止数据删除的详细步骤

    本文提供了一个简单的测试方案,用于将Oracle数据库通过RMAN备份到MinIO,并重点配置MinIO以防止备份文件被误删除,方案涵盖了环境准备、MinIO和RMAN的配置、防误删功能测试以及恢复验证等步骤,需要的朋友可以参考下
    2026-03-03
  • Oracle无效的数字格式模型使用详解

    Oracle无效的数字格式模型使用详解

    这篇文章主要介绍了Oracle无效的数字格式模型使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • Oracle 12.2处理sysaux空间占满问题

    Oracle 12.2处理sysaux空间占满问题

    今天处理别的问题查看告警日志偶然发现大量的报错,无法扩展SYSAUX表空间,于是登录系统,查看系统表空间使用情况,发现SYSAUX表空间用满了,所以本文给大家介绍了Oracle 12.2处理sysaux空间占满问题,需要的朋友可以参考下
    2024-02-02
  • Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行

    Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行

    在做系统时经常会遇到在⼀个字段中,⽤逗号或其他符号分隔存储多个信息,这篇文章主要给大家介绍了关于Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行的相关资料,需要的朋友可以参考下
    2023-12-12
  • Oracle中Spool命令的使用方法实例

    Oracle中Spool命令的使用方法实例

    这篇文章主要给大家介绍了关于Oracle中Spool命令的使用方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Oracle数据库tnsnames.ora文件的作用和配置

    Oracle数据库tnsnames.ora文件的作用和配置

    这篇文章主要给大家介绍了关于Oracle数据库tnsnames.ora文件的作用和配置,tnsnames.ora 是一个oracle数据库网络配置文件,通过这个配置文件才能建立对数据库的连接,需要的朋友可以参考下
    2024-06-06
  • 解决plsql因事务未提交造成的锁表问题

    解决plsql因事务未提交造成的锁表问题

    这篇文章主要介绍了plsql因事务未提交造成的锁表的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01

最新评论