使用SQL函数,如何使用分隔的字符串并将其作为HTML元素返回?

时间:2014-05-08 22:53:03

标签: sql sql-server sql-server-2008

如果我有一个包含以下内容的DataField:

红色|蓝色|绿色|橙色|黑

我想创建一个函数,将其作为单个动态变量[Colors]返回,渲染时看起来像这样:

<li>Red</li>
<li>Blue</li>
<li>Green</li>
<li>Orange</li>
<li>Black</li>

所以我需要生成li元素,就像它们在上面一样,都在SQL中。

我在使用STUFF方面做了相反的事情,当值是表格中的单个项目时,我可以创建它。

任何帮助都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

这应该这样做:

DECLARE @xml as xml
DECLARE @string as varchar(100)

SET @string ='Red|Blue|Green|Orange|Black'
SET @xml = cast( ('<li>' + replace( @string, '|' ,'</li><li>') + '</li>') as xml)

SELECT @xml