この xml の場合 (SQL 2005 XML 列内):
<doc>
<a>1</a>
<b ba="1" bb="2" bc="3" />
<c bd="3"/>
<doc>
SQL Server 2005 内の値ではなく、属性の名前 (ba、bb、bc、bd) を取得できるようにしたいと考えています。確かに、XPath ではこれを name() で許可していますが、SQL ではサポートされていません。これは、SQL で XML を使用することに対する私の主な不満です。XML/Xpath/XQuery 仕様のどの部分が含まれているかを把握する必要があります。
これを行う唯一の方法は、XML を XML ドキュメント (iirc) にロードし、XPath を実行してノードの名前を抽出する CLR プロシージャを構築することです。ここで提案を受け付けています。