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...