SQL サーバー列に xml データ型として格納されている xml ノードの値を取得しようとしています。たとえば、私の xml 列のデータは次のとおりです。
<fields>
<field id="StudentName">John Smith</field>
<field id="StudentID">1310021003</field>
<field id="SchoolName">Little Kid Elementary School</field>
</fields>
StudentID を取得したい。以下のスクリプトを実行すると、null になります。
select MyColumnName.value('(/fields/field/@StudentID)[1]', 'varchar(20)') as StudentId from MyTable
[おまけの質問] - 可能であれば、studentid でテーブルをクエリしたいと思います。次に例を示します。select * from MyTable where MyColumnName.value('(/fields/field/@StudentID)[1]', 'varchar(20)') = '1310021003'