將一列值拆分成兩列,並插入到新錶中

2021-04-08 18:16:56 字數 1212 閱讀 3507

已有表tt1,表中資料為:

tt1913214718202

747122981926

406016403234

476939375473

256025427480

189140511709

643936412265

509032309425

987106029772

718506902948

表tt2,結構為:

id1 varchar(10)

id2 varchar(10)

現要將表tt1中欄位tt1的值依次放到表tt2的id1和id2中。

id1                   id2

9132147182     7471229819

4060164032     4769393754

2560254274     1891405117

6439364122     5090323094

9871060297     7185069029

以下的實現方法(我是用游標來實現的,如果還有其他更好的方法可以回帖相告^_^):

declare @tt1 as varchar(10),@m as int,@str as varchar(2000)

set @m = 0

declare cur_item cursor for

select cast(tt1 as varchar) from tt1

open cur_item

fetch next from cur_item into @tt1

while @@fetch_status = 0

begin

if (@m = 0)

begin

set @str = 'insert into tt2(id1,id2) values('''+@tt1+''','

endif (@m = 1)

begin

set @str = @str + ''''+@tt1+''')'

endset @m = @m + 1

if (@m = 2)

begin

exec (@str)

set @m = 0

endfetch next from cur_item into @tt1

endclose cur_item

deallocate cur_item 

dataframe一列拆分成多列 split

假設某一列資料報含多個資訊或乙個字串 id attrs a 1,2,5,3 b 3,1,2,5 c 1,2,0,3 d 1,7,5,3 e 2,1,6,8 我們想把他拆分成多列,做法如下 首先進行拆分 data df data df attrs str.split expand true 然後用pd...

將一列包含多個ID拆分多行

原文 將一列包含多個id拆分多行 看到個不常見的問題 然後在 inner sql server2008 裡面找到乙個思路。如果下面的表結構,如何拆分多行並對應員工號呢?首先建立測試表 create table department id intidentity 1,1 primary key,dep...

用SQL進行多值列拆分成二值列的乙個實現

在進行資料分析的時候,往往需要把資料 中的多值列拆分成二值列。如圖1中的表a所示,fruits為乙個多值列,值可以是不同的水果名字,表明某個以id作為標識的人吃水果的記錄。現在的需求是要把是否吃了什麼具體水果拆成多個列,最終如表b所示。在這個例子中,吃水果的記錄還有重複,所以需要把重複的記錄去掉。具...