Beh*_*nam 2 html xml t-sql sql-server sql-server-2014
请考虑下表在SQL Server数据库中:
Id ProductName Price Size
-----------------------------------
1 T-Shirt 1000 M
2 Jeans 1800 L
Run Code Online (Sandbox Code Playgroud)
如何将此表转换为以下HTML字符串:
<div class='row' Id='1' size='M'>
<div class='cell'>T-Shirt</div>
<div class='cell'>1000</div>
</div>
<div class='row' Id='2' size='L'>
<div class='cell'>Jeans</div>
<div class='cell'>1800</div>
</div>
Run Code Online (Sandbox Code Playgroud)
像这样尝试:
首先是一个模型表(请下次自己做):
DECLARE @tbl TABLE(Id INT,ProductName VARCHAR(100),Price DECIMAL(10,4),Size VARCHAR(10));
INSERT INTO @tbl VALUES
(1,'T-Shirt',1000,'M')
,(2,'Jeans',1800,'L');
Run Code Online (Sandbox Code Playgroud)
该查询将使用FOR XML PATH,它提供了对XML命名的最高控制
SELECT 'row' AS [@class]
,t.Id AS [@Id]
,t.Size AS [@size]
,'cell' AS [div/@class]
,t.ProductName AS [div]
,''
,'cell' AS [div/@class]
,t.Price AS [div]
FROM @tbl t
FOR XML PATH('div');
Run Code Online (Sandbox Code Playgroud)
结果:
<div class="row" Id="1" size="M">
<div class="cell">T-Shirt</div>
<div class="cell">1000.0000</div>
</div>
<div class="row" Id="2" size="L">
<div class="cell">Jeans</div>
<div class="cell">1800.0000</div>
</div>
Run Code Online (Sandbox Code Playgroud)
提示1:我们需要,''中间的空格来开始一个新<div>元素。否则,引擎将引发错误。
提示2:典型的HTML表可以用一些XQuery构建
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |