--建立測試表
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(2select0as
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...