簡體   English   中英

SQL Server 2005:如何對字符串執行拆分

[英]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 &lt;&gt; &amp;</symbol>
</symbols>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM