XQuery リファレンス

     前  次    目次     
ここから内容

XQuery 数値演算子リファレンス

この章では、WebLogic Workshop のマッパー機能で使用できる XQuery 数値演算子について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供される XQuery 演算子への呼び出しを追加します。詳細については、クエリ内での関数または演算子の呼び出しを参照してください。

マッパー機能で使用できる XQuery 関数および演算子以外にも、数多くの追加の関数および演算子が用意されています。マッパー機能のソース ビューを使用すると、これらの関数および演算子の呼び出しを手動でクエリに追加できます。追加の関数と演算子のリストについては、次の URL にある W3C Web サイトで、XQuery 1.0 and XPath 2.0 Functions and Operators - W3C Working Draft 16 August 2002 を参照してください。

http://www.w3.org/TR/2002/WD-xquery-operators-20020816

この節では、マッパー機能で使用できる数値演算子のリストを示します。

op: decimal-add

$decimal-var1$decimal-var2 に加算します。decimal-add 演算子は + 演算子によって呼び出されます。

シグネチャ

op:decimal-add(xs: decimal $decimal-var1, xs:decimal $decimal-var2) —> xs:decimal

表 13-1 引数
データ型
引数
説明
xs:decimal
$decimal-var1
1.1 などの 10 進数値を表します。
xs:decimal
$decimal-var2
1.1 などの 10 進数値を表します。

戻り値

$decimal-var1 を $decimal-var2 に加算した結果を 10 進数値で返します。

単純な例

decimal-add("1.1","2.2") を呼び出すと、次のクエリ例に示すように、10 進数値 3.3 が返されます。

<decimal-add>{op:decimal-add("1.1","2.2")}</decimal-add>

次の結果が生成されます。

<decimal-add>3.3</decimal-add>

関連トピック

W3C の decimal データ型の説明。

W3C の numeric-add 演算子の説明。

op: float-add

$float-var1$float-var2 に加算します。float-add 演算子は + 演算子によって呼び出されます。

シグネチャ

op:float-add (xs: float $float-var1, xs:float $float-var2) —> xs:float

表 13-2 引数
データ型
引数
説明
xs:float
$float-var1
1.1 などの 32 ビット浮動小数点値を表します。
xs:float
$float-var2
1.1 などの 32 ビット浮動小数点値を表します。

戻り値

$float-var1$float-var2 に加算した結果を浮動小数点値で返します。

単純な例

float-add("1.0","2.0") を呼び出すと、次のクエリ例に示すように、浮動小数点値 3.0 が返されます。

<float-add>{op:float-add("1.0","2.0")}</float-add>

次の結果が生成されます。

<float-add>3.0</float-add>

関連トピック

W3C の float データ型の説明。

W3C の numeric-add 演算子の説明。

op: double-add

$double-var1$double-var2 に加算します。double-add 演算子は + 演算子によって呼び出されます。

シグネチャ

op:double-add(xs: double $double-var1, xs:double $double-var2) —> xs:double

表 13-3 引数
データ型
引数
説明
xs:double
$double-var1
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。
xs:double
$double-var2
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。

戻り値

$double-var1$double-var2 に加算した結果を倍精度浮動小数点値で返します。

単純な例

double-add("1.0","2.0") を呼び出すと、次のクエリ例に示すように、倍精度浮動小数点値 3.0 が返されます。

<double-add>{op:double-add("1.0","2.0")}</double-add>

次の結果が生成されます。

<double-add>3.0</double-add>

関連トピック

W3C の double データ型の説明。

W3C の numeric-add 演算子の説明。

op: decimal-subtract

$decimal-var1 から $decimal-var2 を減算します。decimal-subtract 演算子は - 演算子によって呼び出されます。

シグネチャ

op: decimal-subtract(xs: decimal $decimal-var1, xs:decimal $decimal-var2) —> xs:decimal

表 13-4 引数
データ型
引数
説明
xs:decimal
$decimal-var1
1.1 などの 10 進数値を表します。
xs:decimal
$decimal-var2
1.1 などの 10 進数値を表します。

戻り値

$decimal-var1 から $decimal-var2 を減算した結果を 10 進数値で返します。

単純な例

decimal-subtract("2.2","1.1") を呼び出すと、次のクエリ例に示すように、10 進数値 1.1 が返されます。

<decimal-subtract>{op:decimal-subtract("2.2","1.1")}</decimal-subtract>

次の結果が生成されます。

<decimal-subtract>1.1</decimal-subtract>

関連トピック

W3C の decimal データ型の説明。

W3C の numeric-subtract 演算子の説明。

op: float-subtract

$float-var1 から $float-var2 を減算します。float-subtract 演算子は - 演算子によって呼び出されます。

シグネチャ

op:float-subtract(xs: float $float-var1, xs:float $float-var2) —> xs:float

表 13-5 引数
データ型
引数
説明
xs:float
$float-var1
1.1 などの 32 ビット浮動小数点値を表します。
xs:float
$float-var2
1.1 などの 32 ビット浮動小数点値を表します。

戻り値

$float-var1 から $float-var2 を減算した結果を浮動小数点値で返します。

単純な例

float-subtract("2.2","1.1") を呼び出すと、次のクエリ例に示すように、浮動小数点値 1.1 が返されます。

<float-subtract>{op:float-subtract("2.2","1.1")}</float-subtract>

次の結果が生成されます。

<float-subtract>1.1</float-subtract>

関連トピック

W3C の float データ型の説明。

W3C の numeric-subtract 演算子の説明。

op: double-subtract

$double-var1 から $double-var2 を減算します。double-subtract 演算子は - 演算子によって呼び出されます。

シグネチャ

op:double-subtract(op: double $double-var1, op:double $double-var2) —> xs:double

表 13-6 引数
データ型
引数
説明
xs:double
$double-var1
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。
xs:double
$double-var2
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。

戻り値

$double-var1 から $double-var2 を減算した結果を倍精度 (64 ビット) 浮動小数点値で返します。

単純な例

double-subtract("2.2","1.1") を呼び出すと、次のクエリ例に示すように、倍精度 (64 ビット) 浮動小数点値 1.1 が返されます。

<double-subtract>{op:double-subtract("2.2","1.1")}</double-subtract>

次の結果が生成されます。

<double-subtract>1.1</double-subtract>

関連トピック

W3C の double データ型の説明。

W3C の numeric-subtract 演算子の説明。

op: decimal-multiply

$decimal-var1$decimal-var2 を乗算します。decimal-multiply 演算子は * 演算子によって呼び出されます。

シグネチャ

op:decimal-multiply(xs: decimal $decimal-var1,xs:decimal $decimal-var2) —> xs:decimal

表 13-7 引数
データ型
引数
説明
xs:decimal
$decimal-var1
1.1 などの 10 進数値を表します。
xs:decimal
$decimal-var2
1.1 などの 10 進数値を表します。

戻り値

$decimal-var1$decimal-var2 を乗算した結果を 10 進数値で返します。

単純な例

decimal-multiply("2.0","1.0") を呼び出すと、次のクエリ例に示すように、10 進数値 2 が返されます。

<decimal-multiply>{op:decimal-multiply("2.0","1.0")}</decimal-multiply>

次の結果が生成されます。

<decimal-multiply>2</decimal-multiply>

関連トピック

W3C の decimal データ型の説明。

W3C の numeric-multiply 演算子の説明。

op: float-multiply

$float-var1$float-var2 を乗算します。float-multiply 演算子は * 演算子によって呼び出されます。

シグネチャ

op: float-multiply(op: float $float-var1, xs:float $float-var2) —> xs:float

表 13-8 引数
データ型
引数
説明
xs:float
$float-var1
1.1 などの 32 ビット浮動小数点値を表します。
xs:float
$float-var2
1.1 などの 32 ビット浮動小数点値を表します。

戻り値

$float-var1$float-var2 を乗算した結果を 32 ビット浮動小数点値で返します。

単純な例

float-multiply("2.0","3.0") を呼び出すと、次のクエリ例に示すように、浮動小数点値 6.0 が返されます。

<float-multiply>{op:float-multiply("2.0","3.0")}</float-multiply>

次の結果が生成されます。

<float-multiply>6.0</float-multiply>

関連トピック

W3C の float データ型の説明。

W3C の numeric-multiply 演算子の説明。

op: double-multiply

$double-var1$double-var2 を乗算します。double-multiply 演算子は * 演算子によって呼び出されます。

シグネチャ

op:double-multiply (xs: double $double-var1, xs:double $double-var2) —> xs:double

表 13-9 引数
データ型
引数
説明
xs:double
$double-var1
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。
xs:double
$double-var2
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。

戻り値

$double-var1$double-var2 を乗算した結果を倍精度 (64 ビット) 浮動小数点値で返します。

単純な例

double-multiply("2.0","3.0") を呼び出すと、次のクエリ例に示すように、倍精度浮動小数点値 6.0 が返されます。

<double-multiply>{op:double-multiply("2.0","3.0")}</double-multiply>

次の結果が生成されます。

<double-multiply>6.0</double-multiply>

関連トピック

W3C の double データ型の説明。

W3C の numeric-multiply 演算子の説明。

op: decimal-divide

$decimal-var1$decimal-var2 で除算します。decimal-divide 演算子は div 演算子によって呼び出されます。

$decimal-var2 の値が 0 に等しい場合は、エラー コード RT_DIV_ZERO で TransformException 例外が発生します。マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

シグネチャ

op: decimal-divide(xs: decimal $decimal-var1, xs: $decimal-var2) —> xs:decimal

表 13-10 引数
データ型
引数
説明
xs:decimal
$decimal-var1
1.1 などの 10 進数値を表します。
xs:decimal
$decimal-var2
1.1 などの 10 進数値を表します。

戻り値

$decimal-var1$decimal-var2 で除算した結果を 10 進数値で返します。

単純な例

decimal-divide("2.2","1.1") を呼び出すと、次のクエリ例に示すように、10 進数値 2 が返されます。

<decimal-divide>{op:decimal-divide("2.2","1.1")}</decimal-divide>

次の結果が生成されます。

<decimal-divide>2.0</decimal-divide>

エラーの例 — ゼロ割の場合

decimal-divide("2.2","0") を呼び出すと、次のクエリ例に示すように、エラー コード RT_DIV_ZERO で TransformException 例外が送出されます。

<decimal-divide>{op:decimal-divide("2.2","0")}</decimal-divide>

マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

関連トピック

W3C の decimal データ型の説明。

W3C の numeric-divide 演算子の説明。

op: float-divide

$float-var1$float-var2 で除算します。float-divide 演算子は div 演算子によって呼び出されます。

$float-var2 の値が 0 に等しい場合は、Infinity (無限大) の値が返されます。詳細については、ゼロ割の例を参照してください。

シグネチャ

op:float-divide(xs: float $float-var1, xs:float $float-var2) —>xs:float

表 13-11 引数
データ型
引数
説明
xs:float
$float-var1
1.1 などの 32 ビット浮動小数点値を表します。
xs:float
$float-var2
1.1 などの 32 ビット浮動小数点値を表します。

戻り値

$float-var1$float-var2 で除算した結果を浮動小数点値で返します。

単純な例

float-divide("4.4","2.2") を呼び出すと、次のクエリ例に示すように、浮動小数点値 2.0 が返されます。

<float-divide>{op:float-divide("4.4","2.2")}</float-divide>

次の結果が生成されます。

<float-divide>2.0</float-divide>

ゼロ割の例

float-divide("2.2","0") を呼び出すと、次のクエリ例に示すように、Infinity 値が返されます。

<float-divide>{op:float-divide("2.2","0")}</float-divide>

次の結果が生成されます。

<float-divide>Infinity</float-divide>

詳細については、「IEEE Standard for Binary Floating-Point Arthimetic」を参照してください。

関連トピック

W3C の float データ型の説明。

W3C の numeric-divide 演算子の説明。

IEEE Standard for Binary Floating-Point Arthimetic

op: double-divide

$double-var1$double-var2 で除算します。double-divide 演算子は div 演算子によって呼び出されます。

$double-var2 の値が 0 に等しい場合は、Infinity (無限大) の値が返されます。詳細については、ゼロ割の例を参照してください。

シグネチャ

op:double-divide(xs: double $double-var1, xs:double $double-var2) —> xs:double

表 13-12 引数
データ型
引数
説明
xs:double
$double-var1
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。
xs:double
$double-var2
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。

戻り値

$double-var1$double-var2 で除算した結果を倍精度浮動小数点値で返します。

単純な例

double-divide("4.4","2.2") を呼び出すと、次のクエリ例に示すように、倍精度浮動小数点値 2.0 が返されます。

<double-divide>{op:double-divide("4.4","2.2")}</double-divide>

次の結果が生成されます。

<double-divide>2.0</double-divide>

ゼロ割の例

double-divide("2.2","0") を呼び出すと、次のクエリ例に示すように、Infinity 値が返されます。

<double-divide>{op:double-divide("2.2","0")}</double-divide>

次の結果が生成されます。

<double-divide>Infinity</double-divide>

詳細については、「IEEE Standard for Binary Floating-Point Arthimetic」を参照してください。

関連トピック

W3C の double データ型の説明。

W3C の numeric-divide 演算子の説明。

IEEE Standard for Binary Floating-Point Arthimetic

op: numeric-integer-divide

$integer-var1$integer-var2 で除算し、その結果を整数で返します。$integer-var1$integer-var2 で割り切れない場合、剰余は切り捨てられ、丸められることはありません。numeric-integer-divide 演算子は idiv 演算子によって呼び出されます。

$decimal-var2 の値が 0 に等しい場合は、エラー コード RT_DIV_ZERO で TransformException 例外が発生します。マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

シグネチャ

op:numeric-integer-divide(xs: integer $integer-var1, xs:integer $double-var2) —> xs:integer

表 13-13 引数
データ型
引数
説明
xs:integer
$integer-var1
1 などの整数値を表します。
xs:integer
$integer-var2
1 などの整数値を表します。

戻り値

$integer-var1$integer-var2 で除算した結果を整数で返します。$integer-var1$integer-var2 で割り切れない場合、剰余は切り捨てられ、丸められることはありません。

剰余なしの例

op:numeric-integer-divide("4","2") を呼び出すと、次のクエリ例に示すように、整数 2 が返されます。

<numeric-integer-divide>{

op:numeric-integer-divide("4","2")

}</numeric-integer-divide>

次の結果が生成されます。

<numeric-integer-divide>2</numeric-integer-divide>

注意 : 整数 4 は整数 2 で割り切れます。剰余はありません。
剰余切り捨ての例

op:numeric-integer-divide("5","2") を呼び出すと。次のクエリ例に示すように、整数 2 が返されます。

<numeric-integer-divide>{

op:numeric-integer-divide("5","2")

}</numeric-integer-divide>

次の結果が生成されます。

<numeric-integer-divide>2</numeric-integer-divide>

注意 : 剰余は破棄されます。
エラーの例 — ゼロ割の場合

op:numeric-integer-divide("2","0") を呼び出すと、次のクエリ例に示すように、エラー コード RT_DIV_ZERO で TransformException 例外が送出されます。

<numeric-integer-divide>{

op:numeric-integer-divide("2","0")

}</numeric-integer-divide>

マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

関連トピック

W3C の integer データ型の説明。

W3C の numeric-integer-divide 演算子の説明。

op: decimal-mod

$decimal-var1$decimal-var2 で除算したときの剰余を返します。decimal-mod 演算子は mod 演算子によって呼び出されます。

$decimal-var2 の値が 0 に等しい場合は、エラー コード RT_DIV_ZERO で TransformException 例外が発生します。マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

シグネチャ

op:decimal-mod(xs: decimal $decimal-var1, xs:decimal $decimal-var2) —>xs:decimal

表 13-14 引数
データ型
引数
説明
xs:decimal
$decimal-var1
1.1 などの 10 進数値を表します。
xs:decimal
$decimal-var2
1.1 などの 10 進数値を表します。

戻り値

$decimal-var1$decimal-var2 で除算したときの剰余が返されます。

単純な例

decimal-mod("2.1","2.0") を呼び出すと、2.1 を 2.0 で除算すると商が 1 で剰余が 0.1 であるため、次のクエリ例に示すように、10 進数値 0.1 が返されます。

<decimal-mod>{op:decimal-mod("2.1","2.0")}</decimal-mod>

次の結果が生成されます。

<decimal-mod>0.1</decimal-mod>

エラーの例 — ゼロ割の場合

decimal-mod("2.2","0") を呼び出すと、次のクエリ例に示すように、エラー コード RT_DIV_ZERO で TransformException 例外が送出されます。

<decimal-mod>{op:decimal-mod("2.2","0")}</decimal-mod>

マッパーには次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。

関連トピック

W3C の decimal データ型の説明。

W3C の numeric-mod 演算子の説明。

op: float-mod

$float-var1$float-var2 で除算したときの剰余を返します。float-mod 演算子は mod 演算子によって呼び出されます。

この演算子を NaN、正の無限大、または負の無限大オペランドと共に使用する詳細については。W3C の numeric-mod 演算子の説明 を参照してください。

シグネチャ

op: float-mod(xs: float $float-var1, xs:float $float-var2) —> xs:float

表 13-15 引数
データ型
引数
説明
xs:float
$float-var1
1.1 などの 32 ビット浮動小数点値を表します。
xs:float
$float-var2
1.1 などの 32 ビット浮動小数点値を表します。

戻り値

$float-var1$float-var2 で除算したときの剰余が返されます。

単純な例

float-mod("1.25","1.0") を呼び出すと、1.25 を 1.0 で除算すると商が 1.0 で剰余が 0.25 であるため、次のクエリ例に示すように、浮動小数点値 0.25 が返されます。

<float-mod>{op:float-mod("1.25","1.0")}</float-mod>

次の結果が生成されます。

<float-mod>0.25</float-mod>

ゼロ割の例

float-mod("2.2","0") を呼び出すと、次のクエリ例に示すように、NaN (非数) 値が返されます。

<float-mod>{op:float-mod("2.2","0")}</float-mod>

次の結果が生成されます。

<float-mod>NaN</float-mod>

関連トピック

W3C の float データ型の説明。

W3C の numeric-mod 演算子の説明。

op: double-mod

$double-var1$double-var2 で除算したときの剰余を返します。double-mod 演算子は mod 演算子によって呼び出されます。

この演算子を NaN、正の無限大、または負の無限大オペランドと共に使用する詳細については。W3C の「numeric-mod」演算子の説明 (英文) を参照してください。

シグネチャ

op: double-mod(xs: double $double-var1, xs:double $double-var2) —> xs:double

表 13-16 引数
データ型
引数
説明
xs:double
$double-var1
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。
xs:double
$double-var2
1.1 などの倍精度 (64 ビット) 浮動小数点値を表します。

戻り値

$double-var1$double-var2 で除算したときの剰余が返されます。

単純な例

double-mod("1.25","1.0") を呼び出すと、1.251.0 で除算すると商が 1 で剰余が 0.25 であるため、次のクエリ例に示すように、倍精度 (64 ビット) 浮動小数点値 0.25 が返されます。

<double-mod>{op:double-mod("1.25","1.0")}</double-mod>

次の結果が生成されます。

<double-mod>0.25</double-mod>

ゼロ割の例

double-mod("2.2","0") を呼び出すと、次のクエリ例に示すように、NaN 値が返されます。

<double-mod>{op:double-mod("2.2","0")}</double-mod>

次の結果が生成されます。

<double-mod>NaN</double-mod>

関連トピック

W3C の double データ型の説明。

W3C の numeric-mod 演算子の説明。


  ページの先頭       前  次