0

bdParametersさて、データ型がという列を持つテーブルがありますtext。列に格納されるデータはbdParameters、テキストとして保存された XML です。

データは次のようになります。

<root>
    <row statusID="ALL" subID="ALL" viewMaskFields="false" masID="219" 
         userID="13" prptyDate="08/19/2011" docID="21b15c9e-76a5-44ed-afbb-96b6df2cf881" 
         resmID="8806" leaID="6345" reshID="3560" doEmail="" emailFrom="" emailTo="" 
         emailMsg="penarands" emailSubject="" fieldList="1" fmtID="2" OptInCES="Yes" 
         SendVaiEmailCES="1" RPIPMCURL="blabla@blabla.com" />
    <Custom>
       <UpdateResidentLetter>
          <Row Status="NOTPRINTED" Notes="Created from bulk lettersinterface" />
       </UpdateResidentLetter>
    </Custom>
</root>

emailMsgそのxmlから属性のみを選択できるようにしたいです。

それは可能ですか?もしそうなら、どのように?

4

1 に答える 1

0

@属性を取得するには、シンボルとともにxml.valueを使用します

declare @t table (col xml);
insert @t select '
<root><row statusID="ALL" subID="ALL" viewMaskFields="false" masID="219" 
userID="13" prptyDate="08/19/2011" docID="21b15c9e-76a5-44ed-afbb-96b6df2cf881" 
resmID="8806" leaID="6345" reshID="3560" doEmail="" emailFrom="" emailTo="" 
emailMsg="penarands" emailSubject="" fieldList="1" fmtID="2" OptInCES="Yes" 
SendVaiEmailCES="1" RPIPMCURL="lm-10-254-9-52.onesitedev.realpage.com" /><Custom>
<UpdateResidentLetter><Row Status="NOTPRINTED" Notes="Created from bulk letters
 interface" /></UpdateResidentLetter></Custom></root>';

select col.value('(/root/row/@emailMsg)[1]','varchar(max)') emailMsg
from @t

-- result
penarands
于 2012-09-28T02:12:15.330 に答える