oracle中用sql語句計算時間間隔並更新表

2022-07-07 15:25:03 字數 2133 閱讀 3816

1樓:聶優悅勞言

blob為二進位製欄位

你update

dg_supervise

setfound_main='111111111111'

當然報錯了。

'111111111111'

是字串,不能存入二進位製欄位裡面。

如果你要更新blob你需要把你要更新的內容轉換成二進位制然後寫入找個字段。

2樓:位之玉校楊

為了更多有此需求的同學看到想要的答案:

create table agile_test(

name_id varchar2(32),

date_go date,

date_no number(8,3)

);insert into agile_test (name_id, date_go, date_no) values ( '張三', to_date('2019-01-01','yyyy-mm-dd'), 0 );

insert into agile_test (name_id, date_go, date_no) values ( '張三', to_date('2019-01-03','yyyy-mm-dd'), 0 );

insert into agile_test (name_id, date_go, date_no) values ( '張三', to_date('2019-01-07','yyyy-mm-dd'), 0 );

insert into agile_test (name_id, date_go, date_no) values ( '張三', to_date('2019-01-10','yyyy-mm-dd'), 0 );

commit;

begin

for rcd in (

select rowid rid,t.*, date_go - nvl(lag(date_go) over(partition by t.name_id order by t.

date_go),date_go) date_no_count from agile_test t

) loop

update agile_test t set t.date_no = rcd.date_no_count

where t.rowid = rcd.rid;

end loop;

end;

/因為select計算用到開窗函式所以不能直接update需要loop或子查詢處理。

3樓:楊臻道蘆

select

count(*)

from

(select

人員編號,

sum(case

when

變動型別

='新增'

then

1else

0end)

as新增次數,

sum(case

when

變動型別

='刪除'

then

1else

0end)

as刪除次數

from

ceshi

group

by人員編號)

where

新增次數

-刪除次數=1;

select

max(時間),

人員編號

from

ceshi

where

人員編號

in(select

人員編號

from

(select

人員編號,

sum(case

when

變動型別

='新增'

then

1else

0end)

as新增次數,

sum(case

when

變動型別

='刪除'

then

1else

0end)

as刪除次數

from

ceshi

group

by人員編號)

where

新增次數

-刪除次數=1)

group

by人員編號;

oracleplsql中用sql語句新增資料中文出現亂碼

說明資料庫不支援中文,修改為gbk或者utf 8就可以了。alter system disable restricted session 改完編碼後執行 sql conn as sysdba sql shutdown immediate database closed.database dismou...

SQL語句中用Parameters有什麼好處

1 提高sql語句的效能 每個不同的sql語句在執行前都會進行相應的預解析等操作,這個過程是比較耗時的,而任何值的不同也是sql不同,比如 select from user where user id 1與select from user where user id 2是不同的sql語句。如果將wh...

sql中用到下面的語句,怎麼沒有結果呢

你最前面加上 set serveroutput on begin 試試 sql kokooa set serveroutput onsql kokooa begin 2 declare 3 v ename emp.ename type 4 v sal emp.sal type 5 begin 6 s...