當前位置:首頁 » 編程語言 » oraclesql當天的數據

oraclesql當天的數據

發布時間: 2022-08-03 23:27:42

1. oracle 用sql查詢一個時間段每天的數據量

按日做匯總啊:


selecttrunc(datecol)日期,sum(數量)數量和,count(1)數據量
fromtablex
whereto_char(datecol,'yyyymm')='201305'
groupbytrunc(datecol);

2. oracle 查詢一段時間內每一天的統計數據sql怎麼寫

可以寫一個簡單的procere來實現,原理是遍歷日期范圍,並查詢日期資料筆數,寫入表。
數據源表test03
1 2016-06-01 1
2 2016-06-02 1
3 2016-06-05 1
4 2016-06-04 1
5 2016-06-04 1

procere代碼如下:
create or replace procere loop_by_date(pbeg_tim in varchar2,--開始日期
pend_tim in varchar2,--結束日期
errmessage out varchar2) is

nCount number(10); --總天數
i_point number(10); --當天
is_zero number(10); --當天是否有記錄
begin
nCount := 0;
i_point := 0;
is_zero := 0;

select ROUND(to_date(pend_tim, 'yyyy-mm-dd') -
to_date(pbeg_tim, 'yyyy-mm-dd'))
into nCount
from al;

delete from test02;

<<fst_loop>>
loop

select count(*)
into is_zero
from test03
where date1 =
to_char(to_date(pbeg_tim, 'yyyy-mm-dd') + i_point, 'yyyy-mm-dd');

insert into test02
(date01, nccount)
values
(to_char(to_date(pbeg_tim, 'yyyy-mm-dd') + i_point, 'yyyy-mm-dd'),
is_zero);

i_point := i_point + 1;
exit fst_loop when i_point >= nCount;
end loop fst_loop;
--end;

end loop_by_date;

傳入參數"2016-06-01"~~"2016-06-10"並執行,結果寫入test02為:
1 2016-06-01 1
2 2016-06-02 1
3 2016-06-03 0
4 2016-06-04 2
5 2016-06-05 1
6 2016-06-06 0
7 2016-06-07 0
8 2016-06-08 0
9 2016-06-09 0

3. oracle資料庫 date時間類型查詢昨天、前7天、前30天、前1年的數據,sql語句怎麼寫

1、打開plsql,連接上oracle資料庫,使用sql語句創建一張測試表。

4. 急求:在oracle中獲取表中離當天最近的那天的所有數據,sql怎麼寫,謝了。

select * from tableName where to_number(to_char(dateColumnName,'yyyymmdd')) = (select to_number(to_char(max(dateColumnName),'yyyymmdd')) from tableName where dateColumnName< sysdate)

上述語句,假如表名為tableName,日期欄位為dateColumnName,且為日期類型。

5. sql語句如何查日期欄位的某天的數據

1、創建測試表,

create table test_date(id varchar2(20), v_date date);

6. Oracle sql 查詢時間在當天內的數據 怎麼查詢

select * from 表名 where to_char(欄位名,'yyyymmdd') = to_char(sysdate,'yyyymmdd');
這樣寫試一下,看看是否好用。

7. sql如何一次取出2天的數據(有時候某些天沒數據),求思路

按照你給的說法和例子( 1號3條數據,2號沒有數據,3號2條數據,),那麼所謂的一次兩天,應該是取出1號和3號的5條數據,是這個意思吧。
假設4,5號都有數據,那麼現在是(1有數據,2沒數據,3有數據,4有數據,5有數據)其他不算,就說這五天
那麼你說的一次取出兩天的數據怎麼取?從後往前,還是從前往後,亦或是隨便取?還是多次取,每兩天的都取出來?給的需求並不是十分明確。
個人認為最大的可能是從後往前,或者某一個時間段往前或者往後。
如果是數據塊的話很好寫,定義兩個變數,兩個初始都是0,我們假設為a,b,a代表有數據天數,b代表天數。輸入當前日期(查詢日期),然後在表內對當前日期進行count計數,如果計數不為0,那麼a=a+1,b=b±1(根據向前還是向後查詢自己分配),如果計數為0,那麼只b±1,然後判斷一下a是否等於2,如果a不等於2,那麼繼續循環,直到循環出現兩個計數不為0的天,那麼a=2了,然後就能退出循環,這是查詢出的內容就是兩天的。
如果是單條sql的話,考慮到查詢的當天可能也沒有數據,比如你要查詢2號(包含)往後的兩天(一般來說是2號和3號的數據),但是2號沒有數據,所以輸出的應該是3號和4號的數據。
單獨的sql好像能寫出來,我說一個思路,開窗函數,你對找出來的數據,比如大於等於2號的數據進行排序,這個排序是開窗(oracle的話這里用rank,其他數據不知道),其他資料庫不知道)的排序,(不分組,按照日期的截取到日去排序,也就是不算具體的時間,而是1號,2號,這樣的排序)這時,3號的所有數據會被標記為1,4號的所有數據被標記為2,然後再截取排序號小於等於2的就可以了。
其他的還有,不過要麼是計數,要麼是開窗排序,而且不一定能寫出來,或者就算寫出來了,可能也比較耗費資源,估計可用性不大。

8. oracle 查詢一段時間內每一天的統計數據sql怎麼寫

還有這么到的???2015-09-01到2014-09-12

select date,count(*) as number from table_name where date = '2015-09-01'
union
select date,count(*) as number from table_name where date = '2015-09-02'

如果天數比較少 可以這么干,如果比較多可以寫存儲過程,循環搞

熱點內容
惠普暢遊人14是什麼配置表 發布:2025-01-23 05:57:39 瀏覽:295
簡單搭建ftp伺服器 發布:2025-01-23 05:49:41 瀏覽:227
有qq號沒密碼如何登上 發布:2025-01-23 05:34:08 瀏覽:469
javajsdes加密 發布:2025-01-23 05:33:21 瀏覽:770
qq怎麼上傳視頻到電腦上 發布:2025-01-23 05:07:27 瀏覽:972
如何申請i7伺服器地址 發布:2025-01-23 04:42:15 瀏覽:848
瀏覽器內核源碼 發布:2025-01-23 04:41:34 瀏覽:662
精英版繽智少了些什麼配置 發布:2025-01-23 04:41:30 瀏覽:359
編寫c編譯器 發布:2025-01-23 04:41:30 瀏覽:971
可以解壓war包的編譯軟體 發布:2025-01-23 04:38:28 瀏覽:989