sql >> Database >  >> RDS >> Sqlserver

Converteren naar html met xquery?

Ik heb een minder hackende gevonden. Het enige probleem is dat het <td /> . aanmaakt in plaats van <td></td> als de waarde nul is. Het zal een lay-outprobleem veroorzaken wanneer de e-mail naar sommige oude Outlook-clients wordt verzonden.

declare @table varchar(max) = '(select 1 a, ''one'' b union all select 2, ''two'') t '
declare @sql varchar(max) = '
    declare @xml xml = (
        select * from ' + @table + ' 
        for xml path(''tr''), root(''table'')
    ); 
    select @xml'
declare @tmp table (x xml)
insert into @tmp exec(@sql) 
declare @x xml = (select x from @tmp)
select @x.query('<body>
<table>
  <tr>
    {for $c in /table/tr[1]/* return element th { local-name($c) } }
  </tr>
  {
    for $r in /table/* 
    return element tr { for $c in $r/* return element td { data($c) } } 
  }
</table>
</body>')


  1. Beste manieren om back-ups te maken voor offline toepassingen?

  2. Converteer een bytea-kolom naar OID met behoud van waarden

  3. Magento:maak automatisch een CSV-bestand aan voor elke geplaatste bestelling

  4. Prestatievergelijking tussen sql SELECT NULL en SELECT 1