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: add-yearMonthDurations

$yearMonthDuration-var1$yearMonthDuration-var2 に加算します。

シグネチャ

op:add-yearMonthDurations(xf: yearMonthDuration $yearMonthDuration-var1, xf: yearMonthDuration $yearMonthDuration-var2) —> xf: yearMonthDuration

表 15-1 引数
データ型
引数
説明
xf:yearMonthDuration
$yearMonthDuration-var1
年数および月数を格納できる期間を含みます。
xf:yearMonthDuration
$yearMonthDuration-var2
年数および月数を格納できる期間を含みます。

戻り値

$yearMonthDuration-var1$yearMonthDuration-var2 に加算したことによる yearMonthDuration 値を返します。

単純な例

次のクエリ例では、1 年と 2 か月に等しい yearMonthDuration 値を 2 年と 11 か月に等しい yearMonthDuration に加算しています。

<yearMonthDuration>{

op:add-yearMonthDurations(xf:yearMonthDuration("P1Y2M"), xf:yearMonthDuration("P2Y11M"))

}</yearMonthDuration>

この場合、次の結果に示すように、4 年と 1 か月に等しい yearMonthDuration 値が返されます。

<yearMonthDuration>P4Y1M</yearMonthDuration>

関連トピック

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

W3C の yearMonthDuration の説明。

xf: yearMonthDuration コンストラクタの説明

 


op: subtract-yearMonthDurations

$yearMonthDuration-var1 の値から $yearMonthDuration-var2 の値を減算します。

シグネチャ

op:subtract-yearMonthDurations (xf: yearMonthDuration $yearMonthDuration-var1, xf: yearMonthDuration $yearMonthDuration-var2) —> xf:yearMonthDuration

表 15-2 引数
データ型
引数
説明
xf:yearMonthDuration
$yearMonthDuration-var1
年数および月数を格納できる期間を含みます。
xf:yearMonthDuration
$yearMonthDuration-var2
年数および月数を格納できる期間を含みます。

戻り値

$yearMonthDuration-var1 から $yearMonthDuration-var2 を減算したことによる yearMonthDuration 値を返します。

差が正になる場合

次のクエリ例では、3 年と 3 か月に等しい yearMonthDuration 値から 1 年と 1 か月に等しい yearMonthDuration 値を減算しています。

<positive>{

op:subtract-yearMonthDurations(xf:yearMonthDuration("P3Y3M"), xf:yearMonthDuration("P1Y1M"))

}</positive>

この場合、次の結果に示すように、2 年と 2 か月という正の yearMonthDuration 値が返されます。

<positive>P2Y2M</positive>

差が負になる場合

次のクエリ例では、1 年と 1 か月に等しい yearMonthDuration 値から 3 年と 3 か月に等しい yearMonthDuration 値を減算しています。

<negative>{

op:subtract-yearMonthDurations(xf:yearMonthDuration("P1Y1M"), xf:yearMonthDuration("P3Y3M"))

}</negative>

この場合、次の結果に示すように、2 年と 2 か月に等しい負の yearMonthDuration 値が返されます。

<negative>-P2Y2M</negative>

関連トピック

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

W3C の yearMonthDuration の説明。

xf: yearMonthDuration コンストラクタの説明

 


op: multiply-yearMonthDuration

$yearMonthDuration-var$decimal-var で乗算します。

シグネチャ

op:multiply-yearMonthDuration(xf: yearMonthDuration $yearMonthDuration-var, xs:decimal $decimal-var) —>xf:yearMonthDuration

表 15-3 引数
データ型
引数
説明
xf:yearMonthDuration
$yearMonthDuration-var
年数および月数を格納できる期間を含みます。
xs:decimal
$decimal-var
小数値 (1.1 など) を含みます。

戻り値

$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")

return

let $decimal-var := 1.5

return

let $mydur := op:multiply-yearMonthDuration($yearMonthDuration-var, $decimal-var)

return

<result>

<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>

<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<years>1</years>

<months>8</months>

</result>

切り上げられない場合

次のクエリ例に示すように、yearMonthDuration 値 1 か月を 0.49 で乗算すると、結果は 0.49 か月となります。これは、0 か月に切り下げられます。

let $yearMonthDuration-var := xf:yearMonthDuration("P1M")

return

let $decimal-var := 0.49

return

let $mydur := op:multiply-yearMonthDuration($yearMonthDuration-var, $decimal-var)

return

<result>

<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>

<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<years>0</years>

<months>0</months>

</result>

関連トピック

W3C の multiply-yearMonthDuration 演算子の説明

W3C の yearMonthDuration の説明。

xf: yearMonthDuration コンストラクタの説明

 


op: divide-yearMonthDuration

$yearMonthDuration-var$decimal-var で除算します。

シグネチャ

op:divide-yearMonthDuration(xf: yearMonthDuration $yearMonthDuration-var, xs:decimal $decimal-var) —>xf:yearMonthDuration

表 15-4 引数
データ型
引数
説明
xf:yearMonthDuration
$yearMonthDuration-var
年数および月数を格納できる期間を含みます。
xs:decimal
$decimal-var
小数値 (1.1 など) を含みます。

戻り値

$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")

return

let $decimal-var := 2

return

let $mydur := op:divide-yearMonthDuration($yearMonthDuration-var, $decimal-var)

return

<result>

<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>

<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<years>0</years>

<months>7</months>

</result>

切り上げられない場合

次のクエリ例に示すように、yearMonthDuration 値 1 か月を 2.04 で除算すると、結果は 0.4901... か月となります。これは、0 か月に切り下げられます。

let $yearMonthDuration-var := xf:yearMonthDuration("P1M")

return

let $decimal-var := 2.04

return

let $mydur := op:divide-yearMonthDuration($yearMonthDuration-var, $decimal-var)

return

<result>

<years>{xf:get-years-from-yearMonthDuration($mydur)}</years>

<months>{xf:get-months-from-yearMonthDuration($mydur)}</months>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<years>0</years>

<months>0</months>

</result>

関連トピック

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

W3C の yearMonthDuration の説明。

xf: yearMonthDuration コンストラクタの説明

 


op: add-dayTimeDurations

$dayTimeDuration-var1$dayTimeDuration-var2 に加算します。

シグネチャ

op:add-dayTimeDurations(xf: dayTimeDuration $dayTimeDuration-var1, xf: dayTimeDuration $dayTimeDuration-var2) —>xf:dayTimeDuration

表 15-5 引数
データ型
引数
説明
xf:dayTimeDuration
$dayTimeDuration-var1
日数、時間数、分数、および秒数を格納できる期間を含みます。
xf:dayTimeDuration
$dayTimeDuration-var2
日数、時間数、分数、および秒数を格納できる期間を含みます。

戻り値

$dayTimeDuration-var1$dayTimeDuration-var2 に加算したことによる dayTimeDuration 値を返します。

単純な例

次のクエリ例では、1 日と 2 時間 30 分 5 秒に等しい dayTimeDuration 値を 31 分に等しい dayTimeDuration に加算しています。

<dayTimeDuration>{

op:add-dayTimeDurations(xf:dayTimeDuration("P1DT2H30M5S"), xf:dayTimeDuration("PT31M"))

}</dayTimeDuration>

この場合、次の結果に示すように、1 日と 3 時間 1 分 5 秒の dayTimeDuration が返されます。

<dayTimeDuration>P1DT3H1M5S</dayTimeDuration>

関連トピック

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

W3C の dayTimeDuration の説明。

xf: dayTimeDuration コンストラクタの説明

 


op: subtract-dayTimeDurations

$dayTimeDuration-var1 の値から $dayTimeDuration-var2 の値を減算します。

シグネチャ

op:subtract-dayTimeDurations(xf: dayTimeDuration$dayTimeDuration-var1, xf: dayTimeDuration $dayTimeDuration-var2) —>xf:dayTimeDuration

表 15-6 引数
データ型
引数
説明
xf:dayTimeDuration
$dayTimeDuration-var1
日数、時間数、分数、および秒数を格納できる期間を含みます。
xf:dayTimeDuration
$dayTimeDuration-var2
日数、時間数、分数、および秒数を格納できる期間を含みます。

戻り値

$dayTimeDuration-var1 から $dayTimeDuration-var2 を減算したことによる dayTimeDuration 値を返します。

差が正になる場合

次のクエリ例では、3 日と 3 時間 3 分 3 秒に等しい dayTimeDuration から 1 日と 1 分に等しい dayTimeDuration 値を減算しています

<positive>{

op:subtract-dayTimeDurations(xf:dayTimeDuration("P3DT3H3M3S"), xf:dayTimeDuration("P1DT1M"))

}</positive>

この場合、次の結果に示すように、2 日と 3 時間 2 分 3 秒という正の dayTimeDuration 値が返されます。

<positive>P2DT3H2M3S</positive>

差が負になる場合

次のクエリ例では、1 日と 1 分に等しい dayTimeDuration から 3 日と 3 時間 3 分 3 秒に等しい dayTimeDuration 値を減算しています。

<negative>{

op:subtract-dayTimeDurations(xf:dayTimeDuration("P1DT1M"), xf:dayTimeDuration("P3DT3H3M3S"))

}</negative>

この場合、次の結果に示すように、2 年と 2 か月に等しい負の dayTimeDuration 値が返されます。

<negative>-P2DT3H2M3S</negative>

関連トピック

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

W3C の dayTimeDuration の説明。

xf: dayTimeDuration コンストラクタの説明

 


op: multiply-dayTimeDuration

$dayTimeDuration-var$decimal-var で乗算します。

シグネチャ

op:multiply-dayTimeDuration(xf: dayTimeDuration $dayTimeDuration-var,xs: decimal $decimal-var) —> xf:dayTimeDuration

表 15-7 引数
データ型
引数
説明
xf:dayTimeDuration
$dayTimeDuration-var
日数、時間数、分数、および秒数を格納できる期間を含みます。
xs:decimal
$decimal-var
小数値 (1.1 など) を含みます。

戻り値

$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 分となります

<result>{

op:multiply-dayTimeDuration(xf:dayTimeDuration("P1DT1H"), 1.5)

}</result>

上のクエリからは、次の結果が生成されます。

<result>P1DT13H30M</result>

関連トピック

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

W3C の dayTimeDuration の説明。

xf: dayTimeDuration コンストラクタの説明

 


op: divide-dayTimeDuration

$dayTimeDuration-var$decimal-var で除算します。

シグネチャ

op: divide-dayTimeDuration(xf: dayTimeDuration $dayTimeDuration-var, xs:decimal-var $decimal-var) —> xf:dayTimeDuration

表 15-8 引数
データ型
引数
説明
xf:dayTimeDuration
$dayTimeDuration-var
日数、時間数、分数、および秒数を格納できる期間を含みます。
xs:decimal
$decimal-var
小数値 (1.1 など) を含みます。

戻り値

$dayTimeDuration-var $decimal-var で除算したことによる dayTimeDuration 値を返します。

単純な例

$dayTimeDuration-var 値 1 日を 2.0 で除算すると、結果は 12 時間となります。$dayTimeDuration-var 値 1 時間を 2.0 で除算すると、結果は 30 分となります。次のクエリ例のように、これらの値を加算すると、dayTimeDuration は 12 時間 30 分となります。

<result>{

op:divide-dayTimeDuration(xf:dayTimeDuration("P1DT1H"), 2.0)

}</result>

上のクエリからは、次の結果が生成されます。

<result>PT12H30M</result>

関連トピック

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

W3C の dayTimeDuration の説明。

xf: dayTimeDuration コンストラクタの説明


  ページの先頭       前  次