首页 > 数据库 >Oracle获取日期查询处理&近一年的所有月份&一个月的全部日期&当前年至今的所有月份

Oracle获取日期查询处理&近一年的所有月份&一个月的全部日期&当前年至今的所有月份

时间:2023-03-03 14:11:54浏览次数:33  
标签:sysdate char dd 查询处理 yyyy 日期 dual Oracle select

一个月的全部日期

SELECT to_char(TRUNC(to_date(to_char(sysdate,'yyyy-mm')||'-01','yyyy-MM-dd'), 'MM') + ROWNUM - 1, 'yyyy-MM-dd') as day 
FROM dual
connect by  to_char(last_day(to_date(to_char(sysdate,'yyyy-mm')||'-01','yyyy-MM-dd')), 'dd') >= ROWNUM

  

 

 

查询近一年的所有月份

select to_char(add_months(sysdate, -t.rn), 'yyyy-mm')
from dual a, (select rownum - 1 rn from dual connect by rownum <= 12) t
 order by to_char(add_months(sysdate, -t.rn), 'yyyy-mm')

  或者

select to_char(add_months(sysdate,-ROWNUM+1), 'yyyy-MM') day from dual  connect by  12 >= ROWNUM

  

 

 

查询当前年至今的所有月份

select to_char(add_months(sysdate, -t.rn), 'yyyy-mm')
from dual a, (select rownum - 1 rn from dual connect by rownum <= 12) t
 where to_char(add_months(sysdate, -t.rn), 'yyyy') =to_char(sysdate, 'yyyy')
 order by to_char(add_months(sysdate, -t.rn), 'yyyy-mm')

  

 

 

获取当前时间90天内连续日期

select to_char(add_days(sysdate,-ROWNUM+1), 'yyyy-MM-dd') day 
from dual  connect by  90 >= ROWNUM

  

查询当前时间

查询当前时间
select sysdate from dual;

查询当前时间并格式化日期
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual;

  

日期格式化

yyyy 可换成其他格式:MM、dd、Q、iw
MM:月 ---------------dd:日
Q:季度 ---------------- iw:周

select to_char(sysdate, 'yyyy' ) from dual; --年


当前时间减少日期

MINUTE 可替换成其他字段:hour 、day 、month 、year

1分钟内的数据
select sysdate,sysdate - interval '1' MINUTE from dual;
1
2
查询这个月的第一天/最后一天
第一天
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL;

最后一天
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, 0)) FROM DUAL;

查询连续日期的统计个数

一组数据,根据MN来统计连续日期的天数

 

 统计结果应该为:4、2、2、2、5

 

 利用开窗思想以及辅助列的方式新增出一列来帮我们记录哪些日期才是连续的

--去重MN,分别取出连续日期的开始时间和结束时间,统计个数
 select distinct mn,min(intime) ksrq,max(intime) jsrq,count(*) cs from
	(
		SELECT mn,intime,XH,trunc(intime)-xh as  rq2 --连续的日期得出的辅助列是相同
			FROM
			(	-- 使用PARTITION BY 来帮助生成序号
			SELECT mn,intime,ROW_NUMBER()OVER(PARTITION BY mn ORDER BY intime) XH
			FROM YQHS.QY_ALARMINFO --表
			where intime <sysdate and intime >sysdate-11 --相应的条件
			)
	)group by mn,rq2;--根据MN编号和辅助列统计

  输出结果:和预想的结果一致

 

 原文地址:https://blog.csdn.net/weixin_41451078/article/details/112919837

标签:sysdate,char,dd,查询处理,yyyy,日期,dual,Oracle,select
From: https://www.cnblogs.com/xianz666/p/17175437.html

相关文章

  • laravel require_if 日期验证
    'use_dates'=>'required|string|max:3','start_date'=>'required_if:use_dates,Yes|date_format:d/m/Y','end_date'=>'required_if:use_dates,Yes|date_format:d/......
  • Oracle时间相关函数
    Oracle时间相关函数1、获取当前时间selectsysdatefromdual;2、日期格式以2023-03-0217:09:23为例格式类型名称示例年(Year)yytwodigits两位年显......
  • 设置element 日期时间组件 的选中范围
    1、html代码点击查看代码<el-form-itemv-if="edit_temp.validTimeType=='1'"label="考试开始时间"prop="examStartTime"><el-date-pickerv-model="ed......
  • Oracle存储过程 Call使用
    在Oracle中,可以将存储过程(PROCEDURE)定义在一个包(PACKAGE)中。要调用包中的存储过程,需要使用包名和存储过程名来引用它们。以下是一个示例:假设我们有一个名为my_package......
  • KingbaseES 的oracle兼容性参数
    KingbaseES用户可通过设置相关的数据库兼容参数,部分或全部启用Oracle兼容特性。常用的兼容性参数有以下这些:参数名称参数说明ora_forbid_func_polymorphism是......
  • jmeter日期时间函数:time函数
     time函数的使用方法:${__time(日期时间格式,自定义变量名)} 年:yyyy或yy  月:MM  日:dd  时:HH(24小时制) hh(12小时制)  分:mm  秒:ss  毫秒:SSS1.......
  • 麒麟kylin-server-v10-sp2安装oracle11g
    envkylin-server-v10-sp24.19.90-24.4.v2101.ky10.x86_642c4goracle11g-2.0.4toolsp13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of......
  • ubuntu 安装php7.2 oracle扩展
    一:介绍php要连接访问oracle需要安装三个东西1:OracleInstantClient:即时客户端库2:php的Oracle数据库扩展:oci83:php连接pdo的oci扩展:pdo_oci原理:oci8提供php驱动,封装方......
  • Oracle 面试宝典-DG篇
    Oracle面试宝典-DG篇IT小Chen2021-07-261744 一:请描述Oracle Data Guard优点有哪些;二:请描述DG备库类型和特点;三:请描述如何将物理备用数据库转换为快照......
  • 算法刷题-计算日期到天数转换-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......