クエリの名前空間を指定する必要があります。
declare @t table (a xml)
insert into @t(a) values ('<storage xmlns="http://energy" created-on="2013-01-21T05:00:15Z">
<country>Italy</country>
<Points>
<point>Callato;Cellino</point>
</Points>
</storage>')
SELECT
a.value('declare namespace x = "http://energy";
(x:storage/@created-on)[1]','date')
AS ProductType,*
FROM @t;
ここでは、読みやすくするために 2 行に分けています。ただし、そうする必要はありません。
結果:
ProductType a
----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2013-01-21 <storage xmlns="http://energy" created-on="2013-01-21T05:00:15Z"><country>Italy</country><Points><point>Callato;Cellino</point></Points></storage>