Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Конвертиране в html чрез xquery?

Измислих един по-малко хакерски. Единственият проблем е, че ще създаде <td /> вместо <td></td> ако стойността е нулева. Това ще доведе до известен проблем с оформлението, когато имейлът се изпрати до някои стари клиенти на Outlook.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 начина да получите информация за дялове за таблица в SQL Server (T-SQL)

  2. sp_dropserver и sp_addserver не работят

  3. Могат ли заявки, които четат променливи на таблица, да генерират паралелни планове за изпълнение в SQL Server 2008?

  4. Обхват на Set rowcount в SQL

  5. Демистификация на CXPACKET и CXCONSUMER типовете чакане в SQL Server