xml を保持する ntext 型の列を持つテーブルがあります。特定のノードの xml から会社名の値を取得する方法の多くの例を適用しようとしましたが、引き続き構文エラーが発生します。以下は、実際のxml出力をselectステートメントに置き換えたことを除いて、私が行ったことです
DECLARE @companyxml xml
SET @companyxml =
'<Home>
<slideshowImage1>1105</slideshowImage1>
<slideshowImage2>1106</slideshowImage2>
<slideshowImage3>1107</slideshowImage3>
<slideshowImage4>1108</slideshowImage4>
<slideshowImage5>1109</slideshowImage5>
<bottomNavImg1>1155</bottomNavImg1>
<bottomNavImg2>1156</bottomNavImg2>
<bottomNavImg3>1157</bottomNavImg3>
<pageTitle>Acme Capital Management |Homepage</pageTitle>
<metaKeywords><![CDATA[]]></metaKeywords>
<metaDescription><![CDATA[]]></metaDescription>
<companyName>Acme Capital Management</companyName>
<logoImg>1110</logoImg>
<pageHeader></pageHeader>
</Home>'
SELECT c.value ('companyName','varchar(1000)') AS companyname
FROM @companyxml.nodes('/Home') AS c
何らかの理由で、select c.value ステートメントには、私には理解できない構文上の問題があります。SSMS でホバーすると、「列 "c"、ユーザー定義関数または集計 "c.value" が見つからないか、名前があいまいです」と表示されます。
構文に関するヘルプは大歓迎です。