每天的销售数量可以根据业务去汇总,如果想给定日期段,获取每天作为一条记录,可以有一种方式,但日期范围不能太大,否则效率会有问题。
select trunc(Start_Date)+rownum from 表名
where rownum<=trunc(End_Date)-trunc(Start_Date)
前提是:表中要有足够的记录数,但也不能太多,否则效率同样会低。
SELECT TRUNC( SYSDATE, 'YYYY' ) FROM DUAL
可以获取 今年的 1月1号
那么, 如果你知道天数, 就是
SELECT TRUNC( SYSDATE, 'YYYY' ) + 今年的第几天 - 1 FROM DUAL
select
from (select to_date('2013-01-01', 'yyyy-mm-dd') + rownum - 1 days
from dba_objects) a
where extract(year from days) = 2013
and to_char(days, 'WW') = 22
and to_char(days, 'day') in ('星期一', '星期二', '星期三', '星期四', '星期五')
年份:2013,第几周:22
1col_name为date格式的例子
(select col_name from table where abs(col_name-to_date(&date))=(select min(abs(col_name-to_date(&date)) from table);
2 col_name为char的话就to_date(给定的时间)
测试通过
select to_char(a-1,'yyyy-mm-dd hh24:mi:ss'),to_char(a,'yyyy-mm-dd hh24:mi:ss') from
(select trunc(to_date('2013-10-27 14:56:56','yyyy-mm-dd hh24:mi:ss')) a
from dual)
;
这个属于oracle时间函数的用法
在oracle里,日期格式是一种特殊的东西
这里有一个日期转换函数
select to_char(日期,'yyyy-mm-dd hh24:mi:ss') from tablename;
这里的to_char就是将日期型转换成字符型的一个函数,转换成的格式就是
2010-08-23 17:51:20
当然你可以将这个日期转换成其他,如:
select to_char(日期,'yyyy-mm-dd') from tablename;
查出来的结果2010-08-23
所以你要根据这个日期来查东西就可以这么用
select from tablename where to_char(日期,'yyyymmdd')between '20100801' and '20100823'
这个就是查日期8月1日到8月23日的数据
select from tablename where to_char(日期,'yyyymmdd') = '20100801'
这个就是查8月1日的数据
其他不懂的你再问吧
-------补充------
你把你写的东西粘贴一下,也好帮你分析啊
你后边的" + modelCsrq + "参数传进来的是什么东西
---------补充2-------
'yyyy-mm-dd 24hi:mi:ss'
这个地方错了,应改成
'yyyy-mm-dd hh24:mi:ss'
不是24hi
以上就是关于oracle如何查询任意时间段的具体一天日期全部的内容,包括:oracle如何查询任意时间段的具体一天日期、oracle怎么得到天数对应的日期、oracle 获取指定周的星期一到星期五日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)