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

SQL 2005 で FOR XML PATH を使用しているときにアンパサンド (&) を保持する方法

    適切な形式の XML を必要としない場合があります。私 (およびおそらく元の投稿者) が遭遇したのは、For XML Path 手法を使用して、再帰クエリを介して「子」アイテムの単一フィールド リストを返すことでした。この手法の詳細については、こちら (具体的には「ブラックボックス XML メソッド」セクション):Transact-SQL での行の値の連結

    私の状況では、「H&E」(病理染色) が「適切な形式の XML」に変換されるのを見て、本当にがっかりしました。幸いなことに、私は解決策を見つけました...次のページは、この問題を比較的簡単に解決するのに役立ちました。再帰クエリを再構築したり、プレゼンテーションレベルで追加の解析を追加したりする必要はありません (このため、および私の子供が他の/将来の状況のた​​めに) -rows データ フィールドには XML 予約文字が含まれています):FOR XML PATH での特殊文字の処理

    編集:参照されたブログ投稿からの以下のコード。

    select
      stuff(
         (select ', <' + name + '>'
         from sys.databases
         where database_id > 4
         order by name
         for xml path(''), root('MyString'), type
         ).value('/MyString[1]','varchar(max)')
       , 1, 2, '') as namelist;
    


    1. Oracle:ORA-12154:TNSの問題:Excel64ビット/Windows1064ビット

    2. 並列計画の開始方法–パート4

    3. GROUP BY句のselect式の結果を再利用しますか?

    4. 12一般的に使用されるSQL演算子