首页 > 数据库 >oracle中如何查询特定日期?

oracle中如何查询特定日期?

时间:2024-06-14 23:57:11浏览次数:25  
标签:sysdate 第一天 -- 查询 日期 dual oracle select trunc

1.
select last_day(to_date('20230101','YYYYMMDD')) from dual; 
select last_day(to_date(V_END_DATE,'YYYYMMDD')) from dual;   --查询任意一天  当月的最后一天


2.
select to_char(to_date('20230101','YYYYMMDD')-1,'YYYYMMDD') INTO V_START_DATE FROM DUAL;
select to_char(to_date(V_END_DATE,'YYYYMMDD')-1,'YYYYMMDD') INTO V_START_DATE FROM DUAL;  --查询任意一天的前一天
--字符型转日期型 -1 之后再转字符型

3.
select to_char(last_day(add_months(SYSDATE, -2)) + 1,'yyyymmdd') First_DayOfMonth  from dual;  --查询上一个月第一天
select to_char(last_day(add_months(SYSDATE, -1)),'yyyymmdd') Last_DayOfMonth from dual;   --查询上一个月最后一天

4.
select to_number(add_months(trunc(to_date(V_FIRST_DAY,'yyyymmdd'), 'mm'), 1) - trunc(to_date(V_FIRST_DAY,'yyyymmdd'), 'mm'))  into from dual;   --指定月份天数,V_FIRST_DAY为那个月份任意一天

5.
查询指定月份/年份/日期的第一天和最后一天
SELECT TO_CHAR(TRUNC(TO_DATE('2018-06','YYYY-MM'), 'MM'), 'YYYY-MM-DD') "指定日期第一天"  FROM DUAL;
SELECT TO_CHAR(LAST_DAY(TO_DATE('2018-06','YYYY-MM')), 'YYYY-MM-DD') "指定日期最后一天" FROM DUAL;

--年
select trunc(sysdate, 'yy') "当年第一天" from dual;
select trunc(sysdate, 'yyyy') "当年第一天" from dual;
select trunc(sysdate, 'year') "当年第一天" from dual;
--季度
select trunc(sysdate, 'q') "当前季度的第一天" from dual;
select trunc(add_months(sysdate,3), 'Q') -1/24 "这个季度最后一天23点" from dual; 
--月
select trunc(sysdate, 'mm') "当月第一天" from dual;
select trunc(sysdate, 'month') "当月第一天" from dual;
select trunc(last_day(sysdate)+1) "下个月第一天的0点" from dual;
--周
select trunc(sysdate, 'd') "本周的第一天,周日起" from dual; 
select trunc(sysdate,'day') "本周的第一天,周日起" from dual; 
select next_day(TRUNC(SYSDATE ), 'TUESDAY' ) + 12/24 "下个星期二中午12点" from dual;
select TRUNC(LEAST(NEXT_DAY(SYSDATE, 'SATURDAY'), NEXT_DAY(SYSDATE, 'SUNDAY'))) + (6*60+10)/(24*60) "下个周六日早上6点10分" from dual;
--天
select trunc(sysdate+1) "今晚12点" from dual;
select trunc(sysdate+1) + (8*60+30)/(24*60) "明天早上8点30分" from dual;
--时
select trunc(sysdate, 'hh')"当前小时" from dual;  
select trunc(sysdate, 'hh24') "当前小时" from dual; 
--分
select trunc(sysdate, 'mi') "当前分钟" from dual;
select trunc(sysdate,'mi') + 10/ (24*60) "10分钟后的时间"from dual; 
--秒
select sysdate + 10/(24 * 60 * 60) "10秒钟后" from dual;--trunc没有精确到秒的精度

标签:sysdate,第一天,--,查询,日期,dual,oracle,select,trunc
From: https://blog.csdn.net/weixin_43149534/article/details/139498404

相关文章

  • 成为MySQL DBA后,再看ORACLE数据库(九、用户与权限)
    数据库的用户和权限的管理是DBA日常运维工作中的重要组成部分,不同数据库的用户权限体系及管理方式也会有差别,本文将对ORACLE的用户权限体系和常用操作进行一个总结。一、用户管理ORACLE中创建用户语句和mysql一样,不同的是mysql可以在用户后面加ip以实现ip层面的访问控制。在ORAC......
  • Superset二次开发之基于GitLab OpenAPI 查询项目的提交记录中修改的文件
    背景:Superset二次开发,在处理版本升级的过程中,需要手动迁移代码,如何在Superset项目众多的文件中,记录修改过的文件,迁移代码时只需重点关注这些文件修改的内容即可,但是针对项目中多次的commit信息,每个commit又涉及不同的文件,如何快速梳理出这些二开工作中修改的文件,是我们......
  • MySQL入门学习-聚合和分组.子查询.相关子查询
        在MySQL中,子查询是指在一个查询语句中嵌套另一个查询语句。子查询可以分为相关子查询和非相关子查询两种类型。    相关子查询是指子查询的执行结果依赖于外部查询中的值。在执行相关子查询时,MySQL会先执行外部查询,然后根据外部查询的结果来执行子查询......
  • mybatisplus一个入参查询两个字段用或
    1List<TechnologyParamPackageMaterialVo>materialVoList=newArrayList<>();23LambdaQueryWrapper<TechnologyParamPackage>wrapper=newLambdaQueryWrapper<>();4wrapper.eq(ObjUtil.isNotEmpty(queryReq.getStatus()),TechnologyPara......
  • 核心(Hutool-core)日期时间(计时器工具-TimeInterval)
    Hutool通过封装TimeInterval实现计时器功能,即可以计算方法或过程执行的时间。TimeInterval支持分组计时,方便对比时间。使用TimeIntervaltimer=DateUtil.timer();//---------------------------------//-------这是执行过程//---------------------------------timer.int......
  • 农历日期-ChineseDate
    介绍农历日期,提供了生肖、天干地支、传统节日等方法。使用构建ChineseDate对象ChineseDate表示了农历的对象,构建此对象既可以使用公历的日期,也可以使用农历的日期。//通过农历构建ChineseDatechineseDate=newChineseDate(1992,12,14);//通过公历构建ChineseDatechine......
  • 核心(Hutool-core)日期时间
    日期时间包是Hutool的核心包之一,提供针对JDK中Date和Calendar对象的封装,封装对象如下:日期时间工具DateUtil针对日期时间操作提供一系列静态方法DateTime提供类似于Joda-Time中日期时间对象的封装,继承自Date类,并提供更加丰富的对象方法。FastDateFormat提供线程安全的针对Da......
  • java oracle easypoi 百万数据导出
    privatestaticfinalIntegerpageSize=100000;/***zcc*@paramfixmedinsCode*@paramtitle*@paramsheetName*/publicvoidexportAudtMorethanVo(StringfixmedinsCode,Stringtitle,StringsheetName){StringfilePa......
  • mysql高级查询技巧
    常见表表达式(CommonTableExpressions,简称CTEs)描述:CTEs是SQL中的一种高级查询功能,它允许用户定义一个临时的结果集,这个结果集在执行后续的SQL语句时可以被引用,就像一个临时表一样。CTEs使得复杂的查询逻辑更加模块化和易于理解。声明和语法:WITHCTE_NameAS(SELECTc......
  • Oracle 是否扼杀了开源 MySQL
    Oracle是否无意中扼杀了开源MySQLPeterZaitsev是一位俄罗斯软件工程师和企业家,曾在MySQL公司担任性能工程师。大约15年前,当甲骨文收购Sun公司并随后收购MySQL时,有很多关于甲骨文何时“杀死MySQL”的讨论。他曾为甲骨文进行辩护,反驳了这些不友好的说法。然而,如今Zaitsev......