2013年3月25日月曜日

【映画】ヒューゴの不思議な発明


タイトルから受ける印象とはちょっと違うストーリー。
超科学的な発明品を使った冒険活劇かと思ったら、どちらかというと映画史の懐古的ヒューマンドラマだった。

家族で安心して見られる一本だと思う...けど、小さい子は飽きちゃうかな?

2013年3月7日木曜日

oracleのSELECT文一発でXMLの属性値を取得したい



下のようなXMLがxml_column(XMLTYPE型)に入っていたとして。
ID属性が"00"のType要素のName属性値を取得したい。


<root>
 <Type ID="00" Name="TEST00">
  <Item ID="00" Name="TEST00-01"/>
  <Item ID="01" Name="TEST00-02"/>
 </Type>
 <Type ID="01" Name="TEST01">
  <Item ID="02" Name="TEST01-01"/>
  <Item ID="03" Name="TEST01-02"/>
 </Type>
</root>

select d.xml_column.extract('/root/Type[@ID="00"]/@Name').getStringVal() from hoge_table d

検索結果

TEST00

てっきりXPATH側でなんとかするのかと思って弄り回してたけど、.getStringVal()を使うのでした...。

2013年3月5日火曜日

oracle xmltypeとextract()とgetClobVal()


軽くハマったのでメモ。

Oracle11gにて。

select x.xmltype_column.extract('/root/temp/text()').getClobVal() from hoge_table x
where
 xmlid = 'test_xml'

extract()を使う場合、上記のように hoge_table x と別名をつけて x.xmltype_column.extract(...と書かないとエラーになるらしい。

下のSQLで動かずにちょっと悩んだ。

エラーになるパターン

select xmltype_column.extract('/root/temp/text()').getClobVal() from hoge_table
where
 xmlid = 'test_xml'