Oracle 查询今天、昨日、本周、本月和本季度的所有记录

Oracle 查询今日、昨日、本周、本月和本季度的所有记录

字段类型为date
今日
select * from 表名 where to_char(字段名,‘dd‘)=to_char(sysdate,‘dd‘)
昨日
select * from  表名 where to_char(字段名,‘dd‘)= to_char(sysdate-1,‘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‘)

   2.  字段类型为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‘),‘dd‘)=to_char(sysdate-1,‘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‘)
?

原文地址:https://www.cnblogs.com/wanglingjiang/p/11265196.html

时间: 2024-10-29 14:09:41

Oracle 查询今天、昨日、本周、本月和本季度的所有记录的相关文章

oracle sql语句取得本周本月本年的数据

[sql] --国内从周一到周日 国外是周日到周六  select to_char(sysdate-1,'D') from dual;--取国内的星期几 去掉减一取国外的星期-- [sql] --取本周时间内的数据  select * from table  where DTIME >=trunc(next_day(sysdate-8,1)+1) and DTIME<=trunc(next_day(sysdate-8,1)+7)+1 ;     select * from table  whe

MYSQL查询今天昨天本周本月等的数据

mysql查询本季度 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT *FROM表名WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <= 1 7天 SELECT *FROM表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天 SELECT *FROM表名 where DATE_SUB(CURDA

笔记:Oracle查询重复数据并删除,只保留一条记录

1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from 表 WHERE (判断字段) IN ( SELECT 判断字段 FROM 表 GROUP BY 判断字段 HAVING COUNT(判断字段) > 1) A

thinkphp 查询当天 ,本周,本月,本季度,本年度,全部, 数据方法

数据库字段是createtime 里面保存的是时间戳 <?php /* *按今天,本周,本月,本季度,本年,全部查询预约单数据 * $day 代表查询条件 $cid 代表 公司id *返回array $data 查询条件 数组 */ class ReserveModel extends BaseModel { public function find_createtime($day,$cid){ //查询当天数据 if($day==1){ $today=strtotime(date('Y-m-d

Sql 查询当天、本周、本月记录

Sql 查询当天.本周.本月记录--查询当天: [sql] view plaincopyprint?select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: [sql] view plaincopyprint?select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值 --查询当天:[sql] v

oracle 查询 函数练习

/*--以下代码是对emp表进行显示宽度设置col empno for 9999;col ename for a10;col job for a10;col mgr for 9999; col hiredate for a12;col sal for 9999;col comm for 9999;col deptno for 99;set pagesize 20; --创建新表new_emp,复制emp表中的结构和数据到new_emp表中create table xxx as select *

oracle查询转换_inlist转换

oracle的optimizer会对一些sql语句进行查询转换,比如: 合并视图 子查询非嵌套化 inlist转换 下面讲讲遇到的in list转化优化的案例: create table test( col1 varchar2(12) col2 number ext varchar2(4000) ); create index test_ind on test(user_id, col2); create sequence seq_test cache 200; 第一步:准备一些测试数据(10个

oracle查询转换_view merge

oracle对于子查询的支持做的很好,oracle optimizer会对inline view进行query transfomation,即视图合并,不过也经常带来意想不到的问题.下面是一个inline view的merge的例子: 1, 创建临时表 1 create table test1 as select * from dba_objects; 2 create table test2 as select * from dba_objects; 2, 以下查询语句 select * fr

Oracle查询总结

-------------------------------多表查询-------------------------------------- --笛卡尔积查询. select * from emp,dept;--结果为64条,emp表有14条,dept表有4条 --别名查询 --改变查询后的结果显示的列名,在字段后面写要显示的列名(注意一定要用双引号括起来,oracle查询中之后这里用到双引号!) select ename "name" ,loc "地点" f