mysql
  • xml
  • 2011-07-20 17 views 0 likes 
    0

    下記のMSSQLクエリをMySQLに変換する必要があります。クエリは、xpath内の "page"要素のうち "id"属性の値を選択します。私はMySQLのクエリが値1,2,3で3行を返すと期待します。誰でもMySQLでこれを行う方法を知っていますか?私にお知らせください。XML属性の選択方法 - MSSQLからMySQLへの変換

    DECLARE @InputXML as xml 
    SET @InputXML = '<pages><page id="1"/><page id="2"/><page id="3"/></pages>' 
    
    
    SELECT 
        Node.value('@id', 'Bigint') AS ID 
        FROM @InputXML.nodes('/pages/page') TempXML (Node)) 
    

    答えて

    -1

    EDIT:先に述べたことを忘れてしまいます。デイブの

    礼儀、あなたはおそらくこれを見てみたい:

    http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html


    (前の回答は参考のためにその場所に残さ):

    MySQLはXMLを行いません。つまり、短い答えは「できません」です。

    長い答えは、これが実行されるコンテキストによっては、いくつかの選択肢があります。

    1. SQL内のXMLに頼るのではなく、適切なSQLスキーマにデータを正規化します。
    2. データベースからXMLをプレーン・ストリングとして引き出し、ロジック(PHP、C#、VB、使用しているもの)でXML処理を行います。残念ながら、データベース上のxpath式でデータをフィルタリングできないため、すべての候補行をプルして不要なものを破棄する必要があります。
    3. (少なくともこの部分では)データベース全体を捨てて、XMLファイルを保存してください。 XMLファイルの格納と取得がアプリケーションのすべてであり、メタ情報を追加していない場合、データベースにはほとんど利点はありません。
    +1

    MySQLはXMLを行います:http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html – Dave

    +0

    これはわかりませんでした。 Meh。 – tdammers

    関連する問題