SQL字符串分割多行

原型数据:

需求:

按逗号或分号将字段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')

 ) a CROSS APPLY(SELECT k.n.value('.','nvarchar(80)') vv FROM a.xmlval.nodes('n') k(n)) b  


输出结果:

SQL字符串分割多行_第1张图片

基本原理:先将该字段值统一替换为逗号分割,再将逗号分割替换转为XML数据类型,再利用xml转为多个行,SQL SERVER2005 XML 使用不是很清楚,后面了解后再更新

xml参考:https://www.cnblogs.com/fly12300/p/4151670.html

你可能感兴趣的:(SQL)