用SQL處理表中所有資料,要使其中一列的資料等於別一列的資料

2022-11-14 17:55:13 字數 955 閱讀 9888

1樓:匿名使用者

假設表名為tab,需要使tab表中的c2等於c1

sql如下:

update tab t1

set t1.c1 = (select t2.c2 from tab t2 where t1.rowid = t2.rowid)

/*rowid是oracle對錶中每條記錄做的唯一標示*/

如果資料量達到千萬級,使用update就要注意了。

*********************補充**************************

update tab t1

set (case when t1.b='111' then t1.a='1'

when t1.b='222' then t1.a='2'

else ...

end);/*這種更新方式,我也沒試過,db2應該可以*/

如果用的是db2,可以通過在export時更新a欄位,然後再load進去,sql如下:

export filename.del of del

select case when t1.b='111' then t1.a='1'

when t1.b='222' then t1.a='2'

endfrom tab t1;

然後將a、b欄位load到tab表對應的欄位裡

2樓:匿名使用者

用別名,比如:

select 另一列 as [其中一列] from tablename

用case 語句,不用迴圈,你查一下case的用法.

3樓:匿名使用者

update a

set colb=case when charindex('111',cola)>0 then '值1' case when charaindex('222',cola)>0 then '值2' end

SQL語言中,刪除表中所有資料,但保留表結構的命令是

sql語言刪除一個表中所有資料使用delete子句。該子句只刪除資料,對錶結構沒有影響。一 語法為 delete from table where 二 例 tt 1 刪除 所有資料 delete tt 2 使用where 子句選擇性刪除,比如 刪除 v1 1 的資料delete tt where v...

mybatis要查詢表中所有資料顯示到jsp中

action裡面不是可以傳引數麼.你去後臺的時候要呼叫你那個select方法才行啊.不然返回出去的是空的肯定找不到這個你繫結的list了.mybatis訪問資料庫後的結果怎樣傳到jsp頁面上顯示 直接放list或map到session或request中 前臺通過el表示式來取 只不過前臺取的時候li...

oracle怎麼將表空間中所有的表的資料刪光

truncate table 在不改變表結構的基礎上,一次性快速刪除所有資料,且不可恢復 較危險慎用 oracle資料表刪除一部分資料後,如何釋放表空間?20 db2的表 是存放在表空間裡的,刪除表就不會增加磁碟空間,而要要修改表空間,表空間又有一個或多個容器。如果你只是想增加磁碟空間,建議你還是想...