oracle查询当天数据

日报数据统计中会用到当天数据的查询,下列就是日期要对应的条件:

between
 to_date(to_char(sysdate,‘yyyy-mm-dd‘) || ‘ 00:00:01‘,‘yyyy-mm-dd hh24:mi:ss‘) and
to_date(to_char(sysdate,‘yyyy-mm-dd‘) || ‘ 23:59:59‘,‘yyyy-mm-dd hh24:mi:ss‘);

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())

本文转自:http://www.jb51.net/article/111281.htm

原文地址:https://www.cnblogs.com/nizuimeiabc1/p/8525139.html

时间: 2024-10-09 07:57:14

oracle查询当天数据的相关文章

oracle 查询当天记录 三种方法效率比较

-- 查询一表中当天生成的数据 -- 原表mobilefrends中的cdate字段上有索引,创建索引语句是:create index mobilefrends_cdate_idx on mobilefrends(cdate); --------------------------------------------------------------------------------------------------------------------- -- 方法一:用to_char()

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT is SELECT ID,UNAME from g_users where utype=2 and STATUS>-1; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS

oracle查询重复数据

oracle查询重复数据 select * from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) > 1) 根据rowid删除重复数据,保留一条 delete from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) >1) and rowid

oracle查询重复数据出现次数

话不多数上代码: 我在Oracle数据库查数据,发现重复数据,于是我想把重复条数以及具体数据查出来: 下面是数据 然后我需要知道重复多少条 (重复十条,也就是有五条数据相同) SQL: select COUNT(*) from acsprd.parameters_lowner where pow_low_code in (SELECT pow_low_code FROM acsprd.parameters_lowner group by pow_low_code having COUNT (po

Oracle查询重复数据与删除重复记录方法

比如现在有一人员表 (表名:peosons) drop table PERSONS; create table PERSONS ( PNAME VARCHAR2(50), CARDID VARCHAR2(18), ADDRESS VARCHAR2(100) ); insert into persons ( PNAME, CARDID, ADDRESS) values ( '张三', '430682199002121010', '深圳'); insert into persons ( PNAME,

oracle查询中文数据出现乱码

首先,在oracle中,输入select userenv('language') from dual,查询出oracle使用的编码方式,我的是SIMPLIFIED CHINESE_CHINA.ZHS16GBK.之后 开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到"NL

Oracle 查询重复数据

如TEST表有3表字段 id  name  address 如下: id  name  address 1   小二    北京 2   小二    东京 3   小二    北京 4   小刘    南京 如要查出 name  和  address 重复的数据. select * from ( select name,address,count(0) as mores from test group by name,address ) as a where a.mores  > 1 此时查出的

查询当天数据Mysql

1.FROM_UNIXTIME 将数据表中字段(时间戳格式) 转换日期格式 2 data_format 格式化日期

sql server 查询当天数据

select * from score_get where substring(Convert(char(10),get_time,112),1,8)='20100325' select * from score_get where get_time between '2010-03-25 00:00:00' and '2010-03-25 23:59:59' select * from score_get where year(get_time) = 2010 and month(get_ti