![](/img/trans.png)
[英]sql-server-2005: How to perform a split on a pipe delimited string variable?
[英]SQL Server 2005: How to perform a split on a string
我需要從名為symbols的字段中拆分以下字符串
234|23|HC
這是我當前的SQL語句
declare @t xml;
Set @t = (
Select symbols from tc for xml auto, elements)
Select @t;
產生<symbols>234|23|HC</symbols>
但我需要將字符串拆分為子節點,因此結果如下:
<symbols>
<symbol>234</symbol>
<symbol>23</symbol>
<symbol>HC</symbol>
</symbols>
用於處理問題字符的替換版本。
declare @T table(symbol varchar(50))
insert into @T values ('234|23|HC|Some problem chars <> &')
select cast('<symbols><symbol>'+
replace(cast(cast('' as xml).query('sql:column("symbol")') as varchar(max)),
'|',
'</symbol><symbol>')+
'</symbol></symbols> ' as xml)
from @T
結果:
<symbols>
<symbol>234</symbol>
<symbol>23</symbol>
<symbol>HC</symbol>
<symbol>Some problem chars <> &</symbol>
</symbols>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.