Oracle 查询当天、当周、当月和当季度的所有记录
Oracle
字段类型为varchar2,格式要与格式化的样式匹配
当天
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate,'dd')
当周
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'iw')=to_char(sysdate,'iw')
当月
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'mm')=to_char(sysdate,'mm')
当季度
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'q')=to_char(sysdate,'q')
字段类型为date
当天
select * from 表名 where to_char(字段名,'dd')=to_char(sysdate,'dd')
当周
select * from 表名 where to_char(字段名,'iw')=to_char(sysdate,'iw')
当月
select * from 表名 where to_char(字段名,'mm')=to_char(sysdate,'mm')
当季度
select * from 表名 where to_char(字段名,'q')=to_char(sysdate,'q')
SQL
当天
select * from 表名 where DATEPART(dd,字段名) = DATEPART(dd, GETDATE()) and DATEPART(mm, 字段名) = DATEPART(mm, GETDATE()) and DATEPART(yy, 字段名) = DATEPART(yy, GETDATE())
当周
select * from 表名 where DATEPART(wk, 字段名) = DATEPART(wk, GETDATE()) and DATEPART(yy, 字段名) = DATEPART(yy, GETDATE())
当月
select * from 表名 where DATEPART(mm, 字段名) = DATEPART(mm, GETDATE()) and DATEPART(yy, 字段名) = DATEPART(yy, GETDATE())
当季度
select * from 表名 where DATEPART(qq, 字段名) = DATEPART(qq, GETDATE()) and DATEPART(yy,字段名) = DATEPART(yy, GETDATE())
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
类推至毫秒0.001秒
加法
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
减法
select sysdate,add_months(sysdate,-12) from dual; --减1年
select sysdate,add_months(sysdate,-1) from dual; --减1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --减1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --减1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1小时
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒
分享到:
相关推荐
总结起来,Oracle SQL和其他SQL方言提供了多种方式来查询日期字段中的当天、当周、当月和当季度数据。正确使用这些函数和操作符,能够帮助我们有效地处理时间相关的查询,从而满足各种业务需求。在实际应用中,应...
Oracle数据库在日期处理方面提供了丰富的功能,这使得开发者可以方便地...理解并熟练掌握这些日期处理方法对于在Oracle数据库环境中编写SQL查询和存储过程至关重要,能够帮助开发者有效地处理和分析日期相关的数据。
Oracle 获取系统时间及格式化 Oracle 中获取系统时间可以使用 SYSDATE()...* 日期和时间格式化使用的格式有:年、月、日、时、分、秒和季度 * 使用 Interval 类型来表示时间间隔 * 使用 Dual 伪列来执行一些简单的查询
### Oracle日期类型处理知识点 #### 一、Oracle日期类型的存储与表示 ...通过上述知识点的学习,可以了解到Oracle数据库中日期类型的基本操作和常用函数,这对于日常的数据库开发和维护工作具有重要的意义。
Oracle 中 TO_DATE 和 TO_CHAR 函数是两个非常重要的日期时间处理函数,主要用于格式化日期和时间数据,以满足不同的应用需求。在本文中,我们将详细介绍 TO_DATE 和 TO_CHAR 函数的属性和使用方法。 一、TO_DATE ...
Oracle支持多种日期时间格式,如yy(两位年)、yyyy(四位年)、mm(两位月)、month(月份名称)、dd(当月第几天)、ddd(当年第几天)、dy(当周第几天)、hh12或hh24(小时)、mi(分钟)、ss(秒)、Q(季度)...
Oracle数据库在处理日期和时间类型的数据时提供了丰富的函数和操作方式。本文将详细介绍Oracle中对日期时间类型的操作。 首先,Oracle中的日期时间类型主要由`DATE`类型来表示,它可以存储日期和时间,精确到秒。...
oracle 日期时间函数大全是指在 Oracle 数据库中处理日期和时间相关的函数,包括日期和字符转换函数、日期算术函数、日期比较函数等。以下是 Oracle 日期时间函数大全的知识点总结: 日期和字符转换函数 * TO_DATE...
Oracle数据库系统中,日期时间函数是SQL查询中不可或缺的一部分,尤其在处理涉及时间序列的数据分析和报表生成时。本文将深入探讨Oracle中的日期时间函数,包括获取日期的不同部分、时间的截取与舍入,以及日期的加...
在Oracle数据库中,获取系统当前时间以及进行日期和时间的操作是常见的需求。本文将详细介绍如何在Oracle中执行这些操作,并提供实例代码。 首先,获取系统当前时间,Oracle提供了`SYSDATE`伪列,它会返回当前系统...
根据提供的文件信息,本文将详细解释Oracle中与日期相关的操作,包括日期格式的设定、日期间的计算、以及一些常用的日期函数应用。 ### 1. Oracle日期时间格式 Oracle中的日期通常存储在一个`DATE`类型中,它包含...
to_date(“要转换的字符串”,”转换的格式”) 两个参数的格式必须匹配,否则会报错。...表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写 比如星期五或者fri;day当周第几天
24. **year_quarter**: 年份和季度组合(如:2000-Q1)。 25. **year_month_number**: 年份和月份组合数字形式(如:2000-01)。 26. **year_month_abbreviation**: 年份和月份组合缩写形式(如:2000-jan)。 ####...