sql >> データベース >  >> RDS >> Sqlserver

xqueryを使用してhtmlに変換しますか?

    ハッキングの少ないものを見つけました。唯一の問題は、 <td /> が作成されることです <td></td> の代わりに 値が null の場合。電子メールが一部の古い 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. サブクエリから複数の値を取得することは可能ですか?

    2. MySQLで制約を追加する際に失敗する行を見つけます

    3. PHPMYSQL多次元配列

    4. ステートメントREForacleを選択します