oraclesql語句動態獲取十五天內的資料

時間 2021-12-21 15:48:30

1樓:匿名使用者

可以直接通過sysdate之後減去15天的形式來作為條件,之後讀取需要的結果。

sql:select * from tablename where create_time>= (sysdate -15);

解釋:以上語句中create_time資料型別是日期型別,所以減去一個數後還是日期型別。

備註:如果create_time是字串的話,可以通過to_date函式轉化為日期型別在進行操作。

2樓:

定義一個輸入類,獲取你輸入時間的字串,然後通過parse方法將字串轉換為date物件

3樓:匿名使用者

在sql語句中使用變數,可以解決你的問題。

修改後的語句如下,供參考:

select * from tb where scbj=0 and to_char(sj,'yyyymmdd') between

4樓:匿名使用者

select * from tb where scbj=0 and to_char(sj,'yyyymmdd') between

to_char((to_char(v_date,'yyyymmdd')-14),'yyyymmdd') and

order by sj;

不知道我理解的對不對,貌似是替代變數吧

如何獲取oracle資料庫中sql語句的執行時間

5樓:匿名使用者

rs = s.executequery(sql);

到這一句,根本沒有fetch資料。

整個時間應該是,到迴圈取完結果集為止。

6樓:杜爺1號

通過oracle執行計劃可以看到sql的執行時間。

explain plan for

select * from table;

select * from table(dbms_xplan.display);

sql>set timing on --顯示執行時間sql>set autorace on ?c顯示執行計劃sql>set autorace on ?c顯示執行計劃sql>set autotrace traceonly ?

c只顯示執行計劃即不顯示查詢出來的資料

設定完畢後執行sql語句就會顯示執行時間。

7樓:節子不哭

set timing on; 之後,再命令列下,每個sql語句查詢結果都會顯示它的執行耗時時長。你的意思應該是想要知道這個語句是什麼時候執行的吧,那只要在執行這段sql之前,輸出當前時間sysdate就可以了呀

8樓:007小剛

plsql就可以呀 查詢完人家直接顯示用了多少時間

9樓:

plsql方法 在執行你的指令碼前後都執行一遍 select sysdate from dual

再減一下好了

10樓:難夏映

在sql *plus中利用set timing on 可以獲取sql語句的執行時間

例如:sqlplus /nolog

conn / as sysdba

set timing on

再執行sql語句即可看到語句的執行時間。

oracle資料庫 sql高手請進來:取出某段時間段內,時間中天數連續的資料

11樓:校巨集盛

**要這麼複雜....鑑於你按每10分鐘來連續排列有點奇怪..我寫了一個按照日期來連續的sql..

select b.name, min(b.visit_time), max(b.visit_time)

from (

select a.*, (a.visit_time - rownum) cc

from (

select * from vister order by name, visit_time

) a) b

group by b.name, b.cc;

12樓:匿名使用者

直接用查詢就可以得到你要的結果:

select id,name,visit_time

from

(select id,name,visit_time

,cnt

,max(cnt) over () mx

from

(select id,name,visit_time

,count(mindate) over (partition by mindate) cnt

from

(select id,name,visit_time

,mindate

from

(select id,name,visit_time

,row_number() over (order by visit_time) rn

from vister  t

where t.name = '張三'

) tmodel

dimension by (t.rn)

measures(id,name,visit_time,trunc(visit_time) visit_date,trunc(t.visit_time) as mindate)

rules upsert all

(mindate[any] =

case

when visit_date[currentv()] - visit_date[currentv()-1] <= 1 then

mindate[currentv()-1]

else

visit_date[currentv()]

end)

order by visit_time))

)where cnt = mx

13樓:曾經黃過

我給你個思路吧!相必你基本的orcacl操作都會,因為我沒有裝這相資料,所以也沒有辦法給你寫**!

第一步:先有count(日期),name,日期(格式為年月日) group by 日期,name (對count進行高到低排列)

第二步:取出最高日期,

第三步:顯示最高日期下的詳細資訊;

14樓:匿名使用者

參照一下這個

15樓:匿名使用者

建議使用儲存過程吧。

如何用sql語句查詢在某一時間之後的資料

16樓:匿名使用者

select * from 表

where year(儲存日期的列名)>'某一時間的年份'

and month(儲存日期的列名)>'某一時間的月份'

and day(儲存日期的列名)>'某一時間的天數'

這是sql的內部函式,獲取年月日的。

複雜的判斷可以修改判斷條件(>= <= and or )或者使用正則也可以

還有getdate()、datediff等內建的時間函式。

17樓:匿名使用者

select * from 表名 where 欄位("儲存的日期")>cdate(某一日期之後的日期)

18樓:斜風細雨卷小煙

你的問題需要補充一些東西:

一、資料庫採用什麼?sqlserver 還是 oracle .....

二、“時間”欄位是 char相關型別,還是datetime相關型別?

19樓:郝靜濤

select * from 表名 where 日期欄位》'日期'

Oracle SQL語句動態獲取十五天內的資料

你是什麼軟體做後臺?to char sysdate,yyyymmdd 14 其中的14改成一個變數就行了。或者吧整條sql放到儲存過程中,存int引數,替換其中的14這個整數 可以直接通過sysdate之後減去15天的形式來作為條件,之後讀取需要的結果。sql select from tablena...

oraclesql語句中對錯誤提示不是單組分組函式的一

select deptno,max count from emp group by deptno 其中max count 相當於2次分組,那麼對應的select 中的其他列也需要進行2次分組,比如說 select max deptno max count from emp group by dept...

oracle sql 裡面可以用if 語句嗎 語法是什麼

永恆度蘭寧 insert 語句中值的順序如果和表結構一致可以省略列名列表。這個sql的意思沒看懂,我給分析一下看對不對,你是不是想表達這個意思 如果在yangao這個表中存在age3 4的資料,那麼,就向yangao中插入一行資料,行資料的內容是 4,null,1 如果是這樣的話,那麼if用的是不對...