D.S

dev.mysql.com

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.11 XML 関数

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.11 XML 関数 Contact MySQL  |  Login  |  Register The world's most popular open source database MySQL.com Downloads Documentation Developer Zone Developer Zone Downloads MySQL.com Documentation MySQL Server MySQL Enterprise Workbench Router Utilities/Fabric MySQL NDB Cluster Connectors More MySQL.com Downloads Developer Zone Section Menu:   Documentation Home MySQL 5.6 リファレンスマニュアル 序文と法的通知 一般情報 MySQL のインストールと更新 チュートリアル MySQL プログラム MySQL サーバーの管理 セキュリティー バックアップとリカバリ 最適化 言語構造 グローバリゼーション データ型 関数と演算子 関数と演算子のリファレンス 式評価での型変換 演算子 演算子の優先順位 比較関数と演算子 論理演算子 割り当て演算子 制御フロー関数 文字列関数 文字列比較関数 正規表現 数値関数と演算子 算術演算子 数学関数 日付および時間関数 MySQL で使用されるカレンダー 全文検索関数 自然言語全文検索 ブール全文検索 クエリー拡張を使用した全文検索 全文ストップワード 全文制限 MySQL の全文検索の微調整 全文インデックス作成用の照合順序の追加 キャスト関数と演算子 XML 関数 ビット関数 暗号化関数と圧縮関数 情報関数 空間分析関数 空間関数のリファレンス 空間関数による引数処理 WKT 値から幾何値を作成する関数 WKB 値から幾何値を作成する関数 幾何値を作成する MySQL 固有の関数 幾何形式変換関数 幾何プロパティー関数 一般的な幾何プロパティー関数 点プロパティー関数 LineString プロパティー関数 MultiLineString プロパティー関数 Polygon プロパティー関数 MultiPolygon プロパティー関数 GeometryCollection プロパティー関数 空間演算子関数 幾何オブジェクト間の空間関係をテストする関数 オブジェクト形状を使用する空間関係関数 最小外接矩形 (MBR) を使用する空間関係関数 最小外接矩形 (MBR) を使用する MySQL 固有の空間関係関数 グローバルトランザクション ID とともに使用される関数 MySQL Enterprise Encryption の関数 Enterprise Encryption のインストール Enterprise Encryption の使用法と例 Enterprise Encryption 関数のリファレンス Enterprise Encryption 関数の説明 その他の関数 GROUP BY 句で使用される関数と修飾子 GROUP BY (集約) 関数 GROUP BY 修飾子 MySQL での GROUP BY の処理 高精度計算 数値の型 DECIMAL データ型の特性 式の処理 丸め動作 高精度計算の例 SQL ステートメントの構文 InnoDB ストレージエンジン 代替ストレージエンジン 高可用性と拡張性 レプリケーション MySQL Cluster NDB 7.3 および MySQL Cluster NDB 7.4 パーティション化 ストアドプログラムおよびビュー INFORMATION_SCHEMA テーブル MySQL パフォーマンススキーマ Connector および API MySQL の拡張 MySQL Enterprise Edition MySQL Workbench MySQL 5.6 のよくある質問 エラー、エラーコード、および一般的な問題 MySQL リリースノート 制約と制限 MySQL 用語集 サードパーティーコンポーネントライセンス 全般的な索引 関数の索引 コマンドの索引 関数の索引 INFORMATION_SCHEMA の索引 結合型の索引 演算子の索引 オプションの索引 権限の索引 モードの索引 ステートメント/構文の索引 ステータス変数の索引 システム変数の索引 トランザクション分離レベルのインデックス Download this Manual PDF (US Ltr) - 27.1Mb PDF (A4) - 27.1Mb EPUB - 7.5Mb HTML Download (TGZ) - 7.2Mb HTML Download (Zip) - 7.2Mb version 5.6 8.0  English 5.7  English 5.6  English 5.5  English MySQL 5.6 リファレンスマニュアル  /  関数と演算子  /  XML 関数 12.11 XML 関数 表 12.15 XML 関数 名前 説明 ExtractValue() XPath 表記法を使用して、XML 文字列から値を抽出します UpdateXML() 置換後 XML フラグメントを返します このセクションでは、MySQL での XML および関連する機能について説明します。 注記 --xml オプションを付けて呼び出すと、mysql および mysqldump クライアントで XML 書式の出力を MySQL から取得できます。 セクション4.5.1「mysql — MySQL コマンド行ツール」 および セクション4.5.4「mysqldump — データベースバックアッププログラム」 を参照してください。 基本的な XPath 1.0 (XML Path Language、バージョン 1.0) の機能を提供する 2 つの関数が使用可能です。XPath の構文および使用法に関する一部の基本情報については、このセクションの後半で提供しますが、このようなトピックの詳しい説明は、このマニュアルのスコープ外です。最終的な情報については、 「XML Path Language (XPath) 1.0 標準」 を参照してください。XPath がはじめてのユーザーや基本の復習を希望するユーザーに役立つリソースは、複数の言語で入手できる 「Zvon.org XPath Tutorial」 です。 注記 これらの関数はまだ開発中です。XML および XPath 機能のこれらの側面やその他の側面については、MySQL 5.6 以降で引き続き改善します。これらについて議論したり、質問したり、 MySQL XML ユーザーフォーラム でほかのユーザーからの支援を得たりすることもできます。 これらの関数で使用される XPath の式では、ユーザー変数およびローカルストアドプログラム変数がサポートされています。ユーザー変数は簡単にチェックされます。ストアドプログラムへのローカル変数は厳密にチェックされます (Bug#26518 も参照してください)。 ユーザー変数 (簡単なチェック)  構文 $@variable_name を使用する変数 (つまり、ユーザー変数) はチェックされません。変数の型が間違っている場合や、変数に値が事前に割り当てられていない場合でも、サーバーから警告やエラーが発行されません。これは、(たとえば) $@myvariable が使用されても警告が発行されないため ($@myvariable は故意に間違えたものです)、入力ミスについてはユーザーが全責任を負うことも意味します。 例: mysql> SET @xml = '<a><b>X</b><b>Y</b></a>'; Query OK, 0 rows affected (0.00 sec) mysql> SET @i =1, @j = 2; Query OK, 0 rows affected (0.00 sec) mysql> SELECT @i, ExtractValue(@xml, '//b[$@i]'); +------+--------------------------------+ | @i | ExtractValue(@xml, '//b[$@i]') | +------+--------------------------------+ | 1 | X | +------+--------------------------------+ 1 row in set (0.00 sec) mysql> SELECT @j, ExtractValue(@xml, '//b[$@j]'); +------+--------------------------------+ | @j | ExtractValue(@xml, '//b[$@j]') | +------+--------------------------------+ | 2 | Y | +------+--------------------------------+ 1 row in set (0.00 sec) mysql> SELECT @k, ExtractValue(@xml, '//b[$@k]'); +------+--------------------------------+ | @k | ExtractValue(@xml, '//b[$@k]') | +------+--------------------------------+ | NULL | | +------+--------------------------------+ 1 row in set (0.00 sec) ストアドプログラム内の変数 (厳密なチェック)  これらの関数をストアドプログラム内部で呼び出すときに、構文 $variable_name を使用する変数を宣言し、これらの関数で使用できます。このような変数は、定義されているストアドプログラムへのローカル変数であり、型および値について厳密にチェックされます。 例: mysql> DELIMITER | mysql> CREATE PROCEDURE myproc () -> BEGIN -> DECLARE i INT DEFAULT 1; -> DECLARE xml VARCHAR(25) DEFAULT '<a>X</a><a>Y</a><a>Z</a>'; -> -> WHILE i < 4 DO -> SELECT xml, i, ExtractValue(xml, '//a[$i]'); -> SET i = i+1; -> END WHILE; -> END | Query OK, 0 rows affected (0.01 sec) mysql> DELIMITER ; mysql> CALL myproc(); +--------------------------+---+------------------------------+ | xml | i | ExtractValue(xml, '//a[$i]') | +--------------------------+---+------------------------------+ | <a>X</a><a>Y</a><a>Z</a> | 1 | X | +--------------------------+---+------------------------------+ 1 row in set (0.00 sec) +----