|
この章では、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
この節では、マッパー機能で使用できる数値演算子のリストを示します。
$decimal-var1 を $decimal-var2 に加算します。decimal-add 演算子は + 演算子によって呼び出されます。
op:decimal-add(xs:
decimal $decimal-var1, xs:decimal $decimal-var2) —> xs:decimal
$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 演算子の説明。
$float-var1 を $float-var2 に加算します。float-add 演算子は + 演算子によって呼び出されます。
op:float-add (xs:
float $float-var1, xs:float $float-var2) —> xs:float
$float-var1 を $float-var2 に加算した結果を浮動小数点値で返します。
float-add("1.0","2.0") を呼び出すと、次のクエリ例に示すように、浮動小数点値 3.0 が返されます。
<float-add>{op:float-add("1.0","2.0")}</float-add>
W3C の float データ型の説明。
W3C の numeric-add 演算子の説明。
$double-var1 を $double-var2 に加算します。double-add 演算子は + 演算子によって呼び出されます。
op:double-add(xs:
double $double-var1, xs:double $double-var2) —> xs:double
$double-var1 を $double-var2 に加算した結果を倍精度浮動小数点値で返します。
double-add("1.0","2.0") を呼び出すと、次のクエリ例に示すように、倍精度浮動小数点値 3.0 が返されます。
<double-add>{op:double-add("1.0","2.0")}</double-add>
W3C の double データ型の説明。
W3C の numeric-add 演算子の説明。
$decimal-var1 から $decimal-var2 を減算します。decimal-subtract 演算子は - 演算子によって呼び出されます。
op: decimal-subtract(xs:
decimal $decimal-var1, xs:decimal $decimal-var2) —> xs:decimal
$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 演算子の説明。
$float-var1 から $float-var2 を減算します。float-subtract 演算子は - 演算子によって呼び出されます。
op:float-subtract(xs:
float $float-var1, xs:float $float-var2) —> xs:float
$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 演算子の説明。
$double-var1 から $double-var2 を減算します。double-subtract 演算子は - 演算子によって呼び出されます。
op:double-subtract(op:
double $double-var1, op:double $double-var2) —> xs:double
$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 演算子の説明。
$decimal-var1 に $decimal-var2 を乗算します。decimal-multiply 演算子は * 演算子によって呼び出されます。
op:decimal-multiply(xs:
decimal $decimal-var1,xs:decimal $decimal-var2) —> xs:decimal
$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 演算子の説明。
$float-var1 に $float-var2 を乗算します。float-multiply 演算子は * 演算子によって呼び出されます。
op: float-multiply(op:
float $float-var1, xs:float $float-var2) —> xs:float
$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 演算子の説明。
$double-var1 に $double-var2 を乗算します。double-multiply 演算子は * 演算子によって呼び出されます。
op:double-multiply (xs:
double $double-var1, xs:double $double-var2) —> xs:double
$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 演算子の説明。
$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
$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 演算子の説明。
$float-var1 を $float-var2 で除算します。float-divide 演算子は div 演算子によって呼び出されます。
$float-var2 の値が 0 に等しい場合は、Infinity (無限大) の値が返されます。詳細については、ゼロ割の例を参照してください。
op:float-divide(xs:
float $float-var1, xs:float $float-var2) —>xs:float
$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
$double-var1 を $double-var2 で除算します。double-divide 演算子は div 演算子によって呼び出されます。
$double-var2 の値が 0 に等しい場合は、Infinity (無限大) の値が返されます。詳細については、ゼロ割の例を参照してください。
op:double-divide(xs:
double $double-var1, xs:double $double-var2) —> xs:double
$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
$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
$integer-var1 を $integer-var2 で除算した結果を整数で返します。$integer-var1 が $integer-var2 で割り切れない場合、剰余は切り捨てられ、丸められることはありません。
op:numeric-integer-divide("4","2") を呼び出すと、次のクエリ例に示すように、整数 2 が返されます。
op:numeric-integer-divide("4","2")
<numeric-integer-divide>2</numeric-integer-divide>
| 注意 : | 整数 4 は整数 2 で割り切れます。剰余はありません。 |
op:numeric-integer-divide("5","2") を呼び出すと。次のクエリ例に示すように、整数 2 が返されます。
op:numeric-integer-divide("5","2")
<numeric-integer-divide>2</numeric-integer-divide>
| 注意 : | 剰余は破棄されます。 |
op:numeric-integer-divide("2","0") を呼び出すと、次のクエリ例に示すように、エラー コード RT_DIV_ZERO で TransformException 例外が送出されます。
op:numeric-integer-divide("2","0")
XQuery を実行中にエラーが発生しました : ゼロ割りが発生しました。
W3C の integer データ型の説明。
W3C の numeric-integer-divide 演算子の説明。
$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
$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 演算子の説明。
$float-var1 を $float-var2 で除算したときの剰余を返します。float-mod 演算子は mod 演算子によって呼び出されます。
この演算子を NaN、正の無限大、または負の無限大オペランドと共に使用する詳細については。W3C の numeric-mod 演算子の説明 を参照してください。
op: float-mod(xs:
float $float-var1, xs:float $float-var2) —> xs:float
$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("2.2","0") を呼び出すと、次のクエリ例に示すように、NaN (非数) 値が返されます。
<float-mod>{op:float-mod("2.2","0")}</float-mod>
W3C の float データ型の説明。
W3C の numeric-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
$double-var1 を $double-var2 で除算したときの剰余が返されます。
double-mod("1.25","1.0") を呼び出すと、1.25 を 1.0 で除算すると商が 1 で剰余が 0.25 であるため、次のクエリ例に示すように、倍精度 (64 ビット) 浮動小数点値 0.25 が返されます。
<double-mod>{op:double-mod("1.25","1.0")}</double-mod>
double-mod("2.2","0") を呼び出すと、次のクエリ例に示すように、NaN 値が返されます。
<double-mod>{op:double-mod("2.2","0")}</double-mod>
W3C の double データ型の説明。
W3C の numeric-mod 演算子の説明。
|