SQL SERVER 拆分列為多行

2022-07-01 07:24:08 字數 1134 閱讀 3834

--

建立測試表

create

table #temp (seq int

identity,names varchar(200

))insert

into #temp

(names)

values('

張三,李四'),

('中國,美國,巴西'),

('深圳,上海,北京,廣州,哈爾濱'),

('足球,籃球,桌球,撞球

')

目的是要將用逗號分隔的names列拆分為多行,最終要產生的結果為:

1 張三

1 李四

2 中國

2 美國

2 巴西

3 深圳

3 上海

3 北京

3 廣州

3 哈爾濱

4 足球

4 籃球

4 桌球

4 撞球

1 ;with cte as(2

select0as

n3union

all4

select n+

1from cte where n<

1005

)6 ,idx as(7

select a.seq,b.n,row_number() over (partition by a.seq order

by b.n) as id,','

+a.names+',

'asnames

8from #tempa9

inner

join cte b on b.n<=

len(','

+a.names+',

')10where

substring(','

+a.names+',

',b.n,1)=',

'11)12

select a.seq,substring(a.names,a.n+

1,b.n-a.n-

1) as

name

13from

idx a

14inner

join idx b on a.seq=b.seq and a.id=b.id-

1

python拆分列表 Python列表及其拆分

僅使用字串操作似乎是最簡單的 當然這是主觀的 和最快的 與迄今為止發布的其他解決方案相比,差距很大 a a b c d y z join a split a b c d y z 證明 基準 h3 按經過時間的公升序排序 python mtimeit s a a b x y p q 99 join a...

SQL 2008依據條件拆分列

在為人事局做報表過程中,遇到乙個棘手的問題。客戶要求把資料庫中的一列資料依據條件分成多列。比方 資料庫中有省份這麼一列資料 客戶要求依據省份分類。河北省一列 北京市一列 天津市一列。剩下的為其它。目標效果例如以下 手工編寫的sql語句version1.0版 select 河北 parsename p...

Oracle 實現拆分列資料的split 方法

儲存在這裡,方便自己以後檢視 建立需要劃分的字串 with t1 as select one,two,three,four,five,six,seven,eight,nine,zero as source string from dual 統計字串中子串的個數,用 來劃分子串 t2 as selec...