好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

oracle 查询当天数据的sql条件写法

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

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,格式要与格式化的样式匹配

?

1

2

3

4

5

6

7

8

当天

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

?

1

2

3

4

5

6

7

8

当天

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

?

1

2

3

4

5

6

7

8

当天

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

查看更多关于oracle 查询当天数据的sql条件写法的详细内容...

  阅读:28次