|
この章では、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
この節では、マッパー機能で使用できる期間演算子のリストを示します。
$yearMonthDuration-var1
を $yearMonthDuration-var2
に加算します。
op:
add-yearMonthDurations
(xf:
yearMonthDuration $yearMonthDuration-var1, xf: yearMonthDuration $yearMonthDuration-var2) —> xf: yearMonthDuration
$yearMonthDuration-var1
を $yearMonthDuration-var2
に加算したことによる yearMonthDuration 値を返します。
次のクエリ例では、1 年と 2 か月に等しい yearMonthDuration 値を 2 年と 11 か月に等しい yearMonthDuration に加算しています。
op:add-yearMonthDurations(xf:yearMonthDuration("P1Y2M"), xf:yearMonthDuration("P2Y11M"))
この場合、次の結果に示すように、4 年と 1 か月に等しい yearMonthDuration 値が返されます。
<yearMonthDuration>P4Y1M</yearMonthDuration>
W3C の
add-yearMonthDurations 演算子の説明。
W3C の
yearMonthDuration の説明。
xf: yearMonthDuration コンストラクタの説明
$yearMonthDuration-var1
の値から $yearMonthDuration-var2
の値を減算します。
op:
subtract-yearMonthDurations (
xf:
yearMonthDuration $yearMonthDuration-var1, xf: yearMonthDuration $yearMonthDuration-var2) —> xf:yearMonthDuration
$yearMonthDuration-var1
から $yearMonthDuration-var2
を減算したことによる yearMonthDuration 値を返します。
次のクエリ例では、3 年と 3 か月に等しい yearMonthDuration 値から 1 年と 1 か月に等しい yearMonthDuration 値を減算しています。
op:subtract-yearMonthDurations(xf:yearMonthDuration("P3Y3M"), xf:yearMonthDuration("P1Y1M"))
この場合、次の結果に示すように、2 年と 2 か月という正の yearMonthDuration 値が返されます。
次のクエリ例では、1 年と 1 か月に等しい yearMonthDuration 値から 3 年と 3 か月に等しい yearMonthDuration 値を減算しています。
op:subtract-yearMonthDurations(xf:yearMonthDuration("P1Y1M"), xf:yearMonthDuration("P3Y3M"))
この場合、次の結果に示すように、2 年と 2 か月に等しい負の yearMonthDuration 値が返されます。
W3C の
subtract-yearMonthDurations 演算子の説明。
W3C の
yearMonthDuration の説明。
xf: yearMonthDuration コンストラクタの説明
$yearMonthDuration-var
を $decimal-var
で乗算します。
op:
multiply-yearMonthDuration
(xf:
yearMonthDuration $yearMonthDuration-var, xs:
decimal $decimal-var) —>xf:yearMonthDuration
$yearMonthDuration-var
を $decimal-var
で除算したことによる yearMonthDuration 値を返します。次の例のように、戻り値は最も近い月数および年数に丸められます。
$yearMonthDuration-var
値 1 年を 1.5 で乗算すると、結果は 1 年と 6 か月となります。$yearMonthDuration-var
値 1 か月を 1.5 で乗算すると、結果は 1.5 か月となります。これは、2 か月に切り上げられます。次のクエリ例のように、1 年 6 か月を 2 か月に加算すると、yearMonthDuration は 1 年 8 か月となります。
let $yearMonthDuration-var := xf:yearMonthDuration("P1Y1M")
let $mydur := op:multiply-yearMonthDuration($yearMonthDuration-var, $decimal-var)
<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>
<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>
次のクエリ例に示すように、yearMonthDuration 値 1 か月を 0.49 で乗算すると、結果は 0.49 か月となります。これは、0 か月に切り下げられます。
let $yearMonthDuration-var := xf:yearMonthDuration("P1M")
let $mydur := op:multiply-yearMonthDuration($yearMonthDuration-var, $decimal-var)
<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>
<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>
W3C の
multiply-yearMonthDuration 演算子の説明
W3C の
yearMonthDuration の説明。
xf: yearMonthDuration コンストラクタの説明
$yearMonthDuration-var
を $decimal-var
で除算します。
op:
divide-yearMonthDuration
(xf:
yearMonthDuration $yearMonthDuration-var, xs:decimal $decimal-var) —>xf:yearMonthDuration
$yearMonthDuration-var
を $decimal-var
で除算したことによる yearMonthDuration 値を返します。次の例のように、戻り値は最も近い年数および月数に丸められます。
$yearMonthDuration-var
値 1 年を 2.0 で除算すると、結果は 6 か月となります。$yearMonthDuration-var
値 1 か月を 2.0 で除算すると、結果は 0.5 か月となります。これは、1 か月に切り上げられます。次のクエリ例のように、6 か月を 1 か月に 加算すると、yearMonthDuration は 7 か月となります。
let $yearMonthDuration-var := xf:yearMonthDuration("P1Y1M")
let $mydur := op:divide-yearMonthDuration($yearMonthDuration-var, $decimal-var)
<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>
<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>
次のクエリ例に示すように、yearMonthDuration 値 1 か月を 2.04 で除算すると、結果は 0.4901... か月となります。これは、0 か月に切り下げられます。
let $yearMonthDuration-var := xf:yearMonthDuration("P1M")
let $mydur := op:divide-yearMonthDuration($yearMonthDuration-var, $decimal-var)
<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>
<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>
W3C の
divide-yearMonthDuration 演算子の説明。
W3C の
yearMonthDuration の説明。
xf: yearMonthDuration コンストラクタの説明
$dayTimeDuration-var1
を $dayTimeDuration-var2
に加算します。
op:
add-dayTimeDurations
(xf:
dayTimeDuration $dayTimeDuration-var1, xf: dayTimeDuration $dayTimeDuration-var2) —>xf:dayTimeDuration
$dayTimeDuration-var1
を $dayTimeDuration-var2
に加算したことによる dayTimeDuration 値を返します。
次のクエリ例では、1 日と 2 時間 30 分 5 秒に等しい dayTimeDuration 値を 31 分に等しい dayTimeDuration に加算しています。
op:add-dayTimeDurations(xf:dayTimeDuration("P1DT2H30M5S"), xf:dayTimeDuration("PT31M"))
この場合、次の結果に示すように、1 日と 3 時間 1 分 5 秒の dayTimeDuration が返されます。
<dayTimeDuration>P1DT3H1M5S</dayTimeDuration>
W3C の
add-dayTimeDurations 演算子の説明。
W3C の
dayTimeDuration の説明。
xf: dayTimeDuration コンストラクタの説明
$dayTimeDuration-var1
の値から $dayTimeDuration-var2
の値を減算します。
op:
subtract-dayTimeDurations
(xf:
dayTimeDuration$dayTimeDuration-var1, xf: dayTimeDuration $dayTimeDuration-var2) —>xf:dayTimeDuration
$dayTimeDuration-var1 から $dayTimeDuration-var2 を減算したことによる dayTimeDuration 値を返します。
次のクエリ例では、3 日と 3 時間 3 分 3 秒に等しい dayTimeDuration から 1 日と 1 分に等しい dayTimeDuration 値を減算しています
。
op:subtract-dayTimeDurations(xf:dayTimeDuration("P3DT3H3M3S"), xf:dayTimeDuration("P1DT1M"))
この場合、次の結果に示すように、2 日と 3 時間 2 分 3 秒という正の dayTimeDuration 値が返されます。
<positive>P2DT3H2M3S</positive>
次のクエリ例では、1 日と 1 分に等しい dayTimeDuration から 3 日と 3 時間 3 分 3 秒に等しい dayTimeDuration 値を減算しています。
op:subtract-dayTimeDurations(xf:dayTimeDuration("P1DT1M"), xf:dayTimeDuration("P3DT3H3M3S"))
この場合、次の結果に示すように、2 年と 2 か月に等しい負の dayTimeDuration 値が返されます。
<negative>-P2DT3H2M3S</negative>
W3C の
subtract-dayTimeDurations 演算子の説明。
W3C の
dayTimeDuration の説明。
xf: dayTimeDuration コンストラクタの説明
$dayTimeDuration-var
を $decimal-var
で乗算します。
op
:multiply-dayTimeDuration(xf:
dayTimeDuration $dayTimeDuration-var,xs: decimal $decimal-var) —> xf:dayTimeDuration
$dayTimeDuration-var
を $decimal-var
で除算したことによる dayTimeDuration 値を返します。
$dayTimeDuration-var
値 1 日を 1.5 で乗算すると、結果は 1 日と 12 時間となります。$dayTimeDuration-var
値 1 時間を 1.5 で乗算すると、結果は 1 時間 30 分となります。次のクエリ例のように、1 日と 12 時間を 1 時間 30 分に加算すると、dayTimeDuration は 1 日と 13 時間 30 分となります
。
op:multiply-dayTimeDuration(xf:dayTimeDuration("P1DT1H"), 1.5)
W3C の
multiply-dayTimeDuration 演算子の説明。
W3C の
dayTimeDuration の説明。
xf: dayTimeDuration コンストラクタの説明
$dayTimeDuration-var
を $decimal-var
で除算します。
op:
divide-dayTimeDuration(xf:
dayTimeDuration $dayTimeDuration-var, xs:decimal-var $decimal-var) —> xf:dayTimeDuration
$dayTimeDuration-var
を $decimal-var
で除算したことによる dayTimeDuration 値を返します。
$dayTimeDuration-var
値 1 日を 2.0
で除算すると、結果は 12 時間となります。$dayTimeDuration-var
値 1 時間を 2.0
で除算すると、結果は 30 分となります。次のクエリ例のように、これらの値を加算すると、dayTimeDuration は 12 時間 30 分となります。
op:divide-dayTimeDuration(xf:dayTimeDuration("P1DT1H"), 2.0)
W3C の
divide-dayTimeDuration 演算子の説明。
W3C の
dayTimeDuration の説明。
xf: dayTimeDuration コンストラクタの説明