SQL字串分割多行

2021-08-17 19:11:59 字數 468 閱讀 4788

原型資料:

需求:按逗號或分號將字段it_description值分割為多行,填充下拉列表

sql實現指令碼

select b.vv from(

select convert(xml,''+replace(replace(it_description,';',','),',','

')+'') as xmlval 

from tb_invoicetype  

where it_code ='d' and (it_comp ='220')

輸出結果:

基本原理:先將該字段值統一替換為逗號分割,再將逗號分割替換轉為xml資料型別,再利用xml轉為多個行,sql server2005 xml 使用不是很清楚,後面了解後再更新

xml參考:

SQL分割字串

t sql對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是t sql不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列 create function f split c varchar 2000 s...

SQL分割字串

if object id dbo.fn split isnot null drop function dbo.fn split gocreate function dbo.fn split inputstr varchar 8000 seprator varchar 10 returns temp ...

SQL 字串分割函式

create function dbo f split sourcesql varchar 8000 strseprate varchar 10 returns temp table a varchar 100 as begin declare iint set sourcesql rtrim lt...