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  where DTIME >=trunc(next_day(sysdate-8,1)) and DTIME<=trunc(next_day(sysdate-8,1)+7);--国外的 

    

select * from table  where  DTIME >=TRUNC(SYSDATE, ‘MM‘and DTIME<=last_day(SYSDATE); 

--本月的 

select * from table where to_char(DTIEM,‘yyyy‘)=to_char(sysdate,‘yyyy‘); 

--本年的 

oracle sql语句取得本周本月本年的数据,布布扣,bubuko.com

时间: 2024-12-17 19:27:14

oracle sql语句取得本周本月本年的数据的相关文章

Oracle Sql语句优化

1.最高效的删除重复记录方法 (因为使用了ROWID)   例子:  DELETE FROM  EMP E  WHERE  E.ROWID > (SELECT MIN(X.ROWID) FROM  EMP X  WHERE  X.EMP_NO = E.EMP_NO); 2.在含有子查询的 SQL 语句中 , 要特别注意减少对表的查询   例子:  SELECT TAB_NAME FROM TABLES WHERE (TAB_NAME,DB_VER) = (SELECT TAB_NAME,DB_V

获取oracle sql语句中绑定变量值的方法

在诊断 sql的性能问题时,我们有时候需要获取其绑定变量的实际值,然后将此实际值带入到sql语句当中,用原来的sql构成select语句(带where条件),实际的执行一下,看一下选择性如何. 本文就是说获取其绑定变量值的方法.本文的编写得到枯荣长老的帮助,在此表示感谢. 本文适用于与oracle 10G或者更高版本的db. alter session set nls_date_format = 'yyyy-mm-dd,hh24:mi:ss'; set linesize 400 col sql_

db2和oracle sql 语句中计算两个时间差的语法

db2 sql语句中计算两个日期相差的语法 结束日期为:2015-10-10  11:30:00 开始日期为:2015-09-09  10:40:00 (1)timestampdiff(8,char(结束时间-开始时间) )(加时分秒计算,会舍去零数)值为744小时 (2)(days(结束时间)-days(开始时间))*24 +hour(结束时间)-hour(开始时间) (不加时分秒计算)值为745小时 (3)Days(结束日期)-days(开始日期)的值为31天 (4)Day(结束日期)-da

Oracle SQL语句大全(一)

Oracle SQL语句大全  1.desc(描述) emp    描述emp这张表 2.desc    dept       部门表 3.desc salgrade      薪水等级 4.select *from table 查找表中的元素 5.dual     是系统中的一张空表 6.select *from dual  7.select sysdate from dual 取出系统时间  8.select ename,sal*12 "annul sal"(取的别名) from 

使用SQL语句清空数据库所有表的数据

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

oracle sql语句

##########基本操作##########启动数据库:su - oraclesqlplus / as sysdbaSQL> startup 对scott用户解锁:SQL> conn / as sysdbaSQL> alter user scott identified by tiger account unlock; 连接到指定的数据库用户:SQL> conn scott/tiger 实现操作系统开机数据库自动open:vi /etc/oratab--------------

关于oracle sql语句查询时表名和字段名要加双引号的问题

oracle初学者一般会遇到这个问题. 用navicat可视化创建了表,可是就是不能查到! 后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引号就可以查到了! ②select * from "user"; 难道oracle跟mysql等不同,查询时候一定要加双引号?那这样不是很麻烦!于是经过查找资料得出如下结论: 1.oracle表和字段是有大小写的区别.oracle默认是大写,如果我们用双引号括起来的就区分大小写,如果没有,系统会自动

oracle sql语句中使用if逻辑

l在 SQL 语句中使用IF-THEN-ELSE 逻辑 l l使用两种方法: •CASE 表达式:SQL99的语法,类似Basic,比较繁琐 •DECODE 函数:Oracle自己的语法,类似Java,比较简介 1 SQL> select ename,job, sal, case job when 'PRESIDENT' then 1.1*sal 2 2 when 'MANAGER' then 1.2*sal 3 3 when 'CLERK' then 1.3*sal 4 4 else 1.4*

Oracle SQL 语句高版本分析

OracleSQL 语句高版本分析 1.     何为高版本 每次执行一条SQL语句时,如果其对应的当前已经存在于library cache里的一个父游标下的各个子游标都不能被该SQL语句重新使用(即共享),则会产生一个新的子游标,此时就会在V$SQL_SHARED_CURSOR里新增一行,分别描述该SQL语句不能使用当前已经存在的各个子游标的原因.当然一个父游标下的第一个子游标产生时也会在该视图上新增一行,只是各个该视图上的描述原因的列的值都为N,在V$SQL_SHARED_CURSOR行数就