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

この節では、マッパー機能で使用できる期間関数のリストを示します。

 


xf: yearMonthDuration

$string-var (yearMonthDuration フォーマットの文字列) を yearMonthDuration データ型に変換します。

$string-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:YearMonthDuration(xs: string $string-var) —> xf: yearMonthDuration

表 12-1 引数
データ型
引数
説明
xf: string
$string-var
以下のフォーマットのいずれかで指定される期間の文字列を表します。
  • PyYmM
  • -PyYmM
注意 : サブ文字列 yY または mM の一方または両方を必ず指定する必要があります。有効な期間の例 : P10Y、-P11M、P6Y4M など。
-
期間が負の値であることを示します。
注意 : - を指定していない場合、期間は正の値です。
P
期間文字列の開始を示します。P は必ず指定する必要があります。
yY
y - 期間の年数。
y - 期間の年数。
mM
m - 期間の月数。
M - 期間に月数が指定されていることを示します。

戻り値

期間を yearMonthDuration 値として返します。

年数と月数を含む yearMonthDuration

次のクエリ例のように、yearMonthDuration("P1Y2M") を呼び出すと、1 年 2 か月に対応する yearMonthDuration 値が返されます。

let $mydur := xf:yearMonthDuration("P1Y2M")

return

<components>

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

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

</components>

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

<components>

<years>1</years>

<months>2</months>

</components>

年数を含む yearMonthDuration

次のクエリ例のように、yearMonthDuration("P9Y") を呼び出すと、9 年に対応する yearMonthDuration 値が返されます。

let $mydur := xf:yearMonthDuration("P9Y")

return

<components>

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

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

</components>

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

<components>

<years>9</years>

<months>0</months>

</components>

負の月数を含む yearMonthDuration

次のクエリ例のように、yearMonthDuration("-P10M") を呼び出すと、負の 10 か月に対応する yearMonthDuration 値が返されます。

let $mydur := xf:yearMonthDuration("-P10M")

return

<components>

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

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

</components>

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

<components>

<years>0</years>

<months>-10</months>

</components>

関連トピック

W3C の yearMonthDuration データ型の説明 。

 


xf: dayTimeDuration

$string-var (dayTimeDuration フォーマットの文字列) を dayTimeDuration データ型に変換します。

$string-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xs:dayTimeDuration(xs: string $string-var) —>xf: dayTimeDuration

表 12-2 引数
データ型
引数
説明
xs:string
$string-var
以下のフォーマットのいずれかで指定される期間の文字列を表します。
  • dDThHiMsS
  • -dDThHiMsS
注意 : 日数、時間数、分数、秒数のいずれを指定するかは任意です。サブ文字列 dD、hH、iM、sS をすべて指定する必要はありません。有効な期間の例 : P10Y、P1D、-P11M、-P10Y7D、P2YT5H、P6YT5H10S など。
-
期間が負の値であることを示します。
注意 : - を指定していない場合、期間は正の値です。
P
期間文字列の開始を示します。P は必ず指定する必要があります。
dD
d - 期間の日数。
D - 期間に日数が指定されていることを示します。
T
期間文字列の時間部分の開始を示します。時間数、分数、または秒数のいずれか (hH、iM、または sS) が指定されている場合、T は必ず指定する必要があります。
hH
h - 期間の時間数。
H - 期間に年数が指定されていることを示します。
iM
i - 期間の分数。
M - 期間に分数が指定されていることを示します。
sS
s - 期間の秒数。
S - 期間に秒数が指定されていることを示します。

戻り値

期間を dayTimeDuration 値として返します。

すべての部分を含む dayTimeDuration

次のクエリ例のように、dayTimeDuration("P4DT9H8M20S") を呼び出すと、4 日と 9 時間 8 分 20 秒に対応する dayTimeDuration 値が返されます。

let $mydur := xf:dayTimeDuration("P4DT9H8M20S")

return

<components>

<days>{xf:get-days-from-dayTimeDuration($mydur)}</days>

<hours>{xf:get-hours-from-dayTimeDuration($mydur)}</hours>

<minutes>{xf:get-minutes-from-dayTimeDuration($mydur)}</minutes>

<seconds>{xf:get-seconds-from-dayTimeDuration($mydur)}</seconds>

</components>

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

<components>

<days>4</days>

<hours>9</hours>

<minutes>8</minutes>

<seconds>20</seconds>

</components>

時間数と秒数だけを含む dayTimeDuration

次のクエリ例のように、dayTimeDuration("PT2H20S") を呼び出すと、2 時間 20 秒に対応する dayTimeDuration 値が返されます。

let $mydur := xf:dayTimeDuration("PT2H20S")

return

<components>

<days>{xf:get-days-from-dayTimeDuration($mydur)}</days>

<hours>{xf:get-hours-from-dayTimeDuration($mydur)}</hours>

<minutes>{xf:get-minutes-from-dayTimeDuration($mydur)}</minutes>

<seconds>{xf:get-seconds-from-dayTimeDuration($mydur)}</seconds>

</components>

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

<components>

<days>0</days>

<hours>2</hours>

<minutes>0</minutes>

<seconds>20</seconds>

</components>

負の日数だけを含む dayTimeDuration

次のクエリ例のように、dayTimeDuration("-P10D") を呼び出すと、負の 10 日に対応する dayTimeDuration 値が返されます。

let $mydur := xf:dayTimeDuration("-P10D")

return

<components>

<days>{xf:get-days-from-dayTimeDuration($mydur)}</days>

<hours>{xf:get-hours-from-dayTimeDuration($mydur)}</hours>

<minutes>{xf:get-minutes-from-dayTimeDuration($mydur)}</minutes>

<seconds>{xf:get-seconds-from-dayTimeDuration($mydur)}</seconds>

</components>

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

<components>

<days>-10</days>

<hours>0</hours>

<minutes>0</minutes>

<seconds>0</seconds>

</components>

関連トピック

W3C の dayTimeDuration データ型の説明 。

 


xf: get-years-from-yearMonthDuration

$yearMonthDuration-var の年数部分から年数を抽出します。

$yearMonthDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-years-from-yearMonthDuration(xf: yearMonthDuration ?$yearMonthDuration-var) —> xs: integer?

表 12-3 引数
データ型
引数
説明
xf:yearMonthDuration?
$yearMonthDuration-var
年数および月数を格納できる期間の表現を含みます。

戻り値

$yearMonthDuration-var の年数部分から抽出した年数を整数として返します。

年数と月数を含む yearMonthDuration から年数を取得する

<years>{xf:get-years-from-yearMonthDuration(xf:yearMonthDuration("P2Y13M"))}</years>

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

<years>2</years>

注意 : yearMonthDuration 作成文字列の月数部分で 13 か月 (13M) と指定されているため、合計年数はさらに 1 年増えますが、最初から年数部分に指定されている 2 年 (2Y) だけが返されます
負の年数だけを含む yearMonthDuration から年数を取得する

<years>{xf:get-years-from-yearMonthDuration(xf:yearMonthDuration("-P5Y"))}</years>

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

<years>-5</years>

月数だけを含む yearMonthDuration から年数を取得する

<years>{xf:get-years-from-yearMonthDuration(xf:yearMonthDuration("P10M"))}</years>

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

<years>0</years>

関連トピック

W3C の get-years-from-yearMonthDuration 関数の説明 。

W3C の yearMonthDuration データ型の説明 。

 


xf: get-months-from-yearMonthDuration

$yearMonthDuration-var の月数部分から月数を抽出します。

$yearMonthDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-months-from-yearMonthDuration(xf: yearMonthDuration? $yearMonthDuration-var) —> xs: integer?

表 12-4 引数
データ型
引数
説明
xf:yearMonthDuration?
$yearMonthDuration-var
年数および月数を格納できる期間の表現を含みます。

戻り値

$yearMonthDuration-var の月数部分から抽出した月数を整数として返します。

年数と月数を含む yearMonthDuration から月数を取得する

<months>{xf:get-months-from-yearMonthDuration(xf:yearMonthDuration("P2Y10M"))}</months>

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

<months>10</months>

負の月数だけを含む yearMonthDuration から月数を取得する

<months>{xf:get-months-from-yearMonthDuration(xf:yearMonthDuration("-P5M"))}</months>

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

<months>-5</months>

関連トピック

W3C の get-months-from-yearMonthDuration 関数の説明 。

W3C の yearMonthDuration データ型の説明 。

 


xf: get-days-from-dayTimeDuration

$dayTimeDuration-var の日数部分から日数を抽出します。

$dayTimeDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-days-from-dayTimeDuration(xf: dayTimeDuration?$dayTimeDuration-var) —> xs: integer?

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

戻り値

$dayTimeDuration-var の日数部分から抽出した日数を整数として返します。

すべての部分を含む dayTimeDuration から日数を取得する

<days>{xf:get-days-from-dayTimeDuration(xf:dayTimeDuration("P7DT25H8M20S"))}</days>

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

<days>7</days>

注意 : dayTimeDuration 作成文字列の時間数部分で 25 時間 (25H) と指定されているため、合計日数はさらに 1 日増えますが、最初から日数部分に指定されている 7 日 (7D) だけが返されます。
負の日数だけを含む dayTimeDuration から日数を取得する

<days>{xf:get-days-from-dayTimeDuration(xf:dayTimeDuration("-PT4D"))}</days>

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

<days>-4</days>

日数を含まない dayTimeDuration から日数を取得する

<days>{xf:get-days-from-dayTimeDuration(xf:dayTimeDuration("PT2H20S"))}</days>

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

<days>0</days>

関連トピック

W3C の get-days-from-dayTimeDuration 関数の説明 。

W3C の dayTimeDuration データ型の説明 。

 


xf: get-hours-from-dayTimeDuration

$dayTimeDuration-var の時間数部分から時間数を抽出します。

$dayTimeDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-hours-from-dayTimeDuration(xf: dayTimeDuration?$dayTimeDuration-var) —> xs: integer?

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

戻り値

$dayTimeDuration-var の時間数部分から抽出した時間数を整数として返します。

すべての部分を含む dayTimeDuration から時間数を取得する

<hours>{xf:get-hours-from-dayTimeDuration(xf:dayTimeDuration("P7DT9H65M20S"))}</hours>

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

<hours>9</hours>

注意 : dayTimeDuration 作成文字列の分数部分で 65 分 (65M) と指定されているため、合計時間数はさらに 1 時間増えますが、最初から時間数部分に指定されている 9 時間 (9H) だけが返されます。
負の時間数だけを含む dayTimeDuration から時間数を取得する

<hours>{xf:get-hours-from-dayTimeDuration(xf:dayTimeDuration("-PT3H"))}</hours>

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

<hours>-3</hours>

時間数を含まない dayTimeDuration から時間数を取得する

<hours>{xf:get-hours-from-dayTimeDuration(xf:dayTimeDuration("P2DT20S"))}</hours>

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

<hours>0</hours>

関連トピック

W3C の get-hours-from-dayTimeDuration 関数の説明 (英語版)

W3C の dayTimeDuration データ型の説明 。

 


xf: get-minutes-from-dayTimeDuration

$dayTimeDuration-var の分数部分から分数を抽出します。

$dayTimeDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-minutes-from-dayTimeDuration(xf: dayTimeDuration?$dayTimeDuration-var) —> xs: integer?

表 12-7 引数
データ型
引数
説明
xf:dayTimeDuration
$dayTimeDuration-var
日数、時間数、分数、および秒数を格納できる期間の表現を含みます。

戻り値

$dayTimeDuration-var の分数部分から抽出した分数を整数として返します。

すべての部分を含む dayTimeDuration から分数を取得する

<minutes>{xf:get-minutes-from-dayTimeDuration(xf:dayTimeDuration("P7DT9H12M65S"))}</minutes>

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

<minutes>12</minutes>

注意 : dayTimeDuration 作成文字列の秒数部分で 65 秒 (65S) と指定されているため、合計分数はさらに 1 分増えますが、最初から分数部分に指定されている 12 分 (12M) だけが返されます。
負の分数だけを含む dayTimeDuration から分数を取得する

<minutes>{xf:get-minutes-from-dayTimeDuration(xf:dayTimeDuration("-PT3M"))}</minutes>

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

<minutes>-3</minutes>

分数を含まない dayTimeDuration から分数を取得する

<minutes>{xf:get-minutes-from-dayTimeDuration(xf:dayTimeDuration("P2DT20S"))}</minutes>

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

<minutes>0</minutes>

関連トピック

W3C の get-minutes-from-dayTimeDuration 関数の説明 。

W3C の dayTimeDuration データ型の説明。

 


xf: get-seconds-from-dayTimeDuration

$dayTimeDuration-var の秒数部分から秒数を抽出します。

$dayTimeDuration-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-seconds-from-dayTimeDuration(xf: dayTimeDuration?$dayTimeDuration-var) —> xf: decimal?

表 12-8 引数
データ型
引数
説明
xf:dayTimeDuration?
$dayTimeDuration-var
日数、時間数、分数、および秒数を格納できる期間の表現を含みます。

戻り値

$dayTimeDuration-var の秒数部分から抽出した秒数を 10 進数として返します。

すべての部分を含む dayTimeDuration から秒数を取得する

<seconds>{xf:get-seconds-from-dayTimeDuration(xf:dayTimeDuration("P7DT9H12M14S"))}</seconds>

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

<seconds>14</seconds>

負の秒数だけを含む dayTimeDuration から秒数を取得する

<seconds>{xf:get-seconds-from-dayTimeDuration(xf:dayTimeDuration("-PT7S"))}</seconds>

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

<seconds>-7</seconds>

秒数を含まない dayTimeDuration から秒数を取得する

<seconds>{xf:get-seconds-from-dayTimeDuration(xf:dayTimeDuration("P2DT6M"))}</seconds>

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

<seconds>0</seconds>

関連トピック

W3C の get-seconds-from-dayTimeDuration 関数の説明。

W3C の dayTimeDuration データ型の説明。

 


xf: get-yearMonthDuration-from-dateTimes

$dateTime-var1$dateTime-var2 の時間差を計算し、結果を yearMonthDuration 値として返します。

$date-var1 の値が $date-var2 の値よりも過去を表す場合は、戻り値は負の期間になります。 ($dateTime-var1 で指定されている日付が $dateTime-var2 で指定されている日付よりも前である場合)。詳細については、後の例「差が負になる場合」を参照してください。

2 つの dateTime 引数の時間差は、年数、月数、分数、および秒数を含むことができますが、yearMonthDuration 値には年数と月数しか格納できません。そのため、時間差は最も近い月数に丸められます。2 つの dateTime 引数の時間差が 15.5 日 (15 日と 12 時間) 以上である場合は、月数が切り上げられます。詳細については、後の例「切り上げられる場合」および「切り上げられない場合」を参照してください。

$date-var1 または $date-var2 の値が空のシーケンスである場合は、次のエラーが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。Type error in function subtract-dates invocation: 予期される型 : [date@http://www.w3.org/2001/XMLSchema], given type empty

シグネチャ

xf:get-yearMonthDuration-from-dateTimes(xs: dateTime $dateTime-var1, xs: dateTime $dateTime-var2) —>xf: yearMonthDuration

表 12-9 引数
データ型
引数
説明
xs:dateTime
$dateTime-var1
日付と時刻の表現を含みます。
xs:dateTime
$dateTime-var2
日付と時刻の表現を含みます。

戻り値

$dateTime-var1$dateTime-var2 の時間差を yearMonthDuration 値として返します。

$dateTime-var1$dateTime-var2 よりも過去を表す場合は、負の yearMonthDuration 値を返します ($dateTime-var1 で指定されている日付が $dateTime-var2 で指定されている日付よりも前である場合)。詳細については、後の例「差が負になる場合」を参照してください。

差が正になる場合

次のクエリ例では、$datetime-var1 で指定されている日付が $datetime-var2 で指定されている日付よりも後であるため、正の年数および月数が返されます。

let $dateTime-var1 := xs:dateTime("2002-12-26T00:00:01")

return

let $dateTime-var2 := xs:dateTime("2001-11-26T00:00:01")

return

let $mydur := xf:get-yearMonthDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

return

<result>

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

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

</result>

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

<result>

<years>1</years>

<months>1</months>

</result>

差が負になる場合

次のクエリ例では、$dateTime-var1 で指定されている日付が $dateTime-var2 で指定されている日付よりも前であるため、負の年数および月数が返されます。

let $dateTime-var1 := xs:dateTime("2001-11-26T00:00:01")

return

let $dateTime-var2 := xs:dateTime("2002-12-26T00:00:01")

return

let $mydur := xf:get-yearMonthDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

return

<result>

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

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

</result>

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

<result>

<years>-1</years>

<months>-1</months>

</result>

切り上げられる場合

次のクエリ例では、$dateTime-var1$dateTime-var2 の時間差が 15.5 日 (15 日と 12 時間) であるため、1 か月の yearMonthDuration が返されます。

let $dateTime-var1 := xs:dateTime("2002-11-16T12:00:00")

return

let $dateTime-var2 := xs:dateTime("2002-11-01T00:00:00")

return

let $mydur := xf:get-yearMonthDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

return

<result>

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

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

</result>

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

<result>

<years>0</years>

<months>1</months>

</result>

切り上げられない場合

次のクエリ例では、$dateTime-var1$dateTime-var2 の時間差が 15 日と 11 時間 59 分 59 秒 である (15.5 日に 1 秒足りない) ため、0 か月の yearMonthDuration が返されます。

let $dateTime-var1 := xs:dateTime("2002-11-16T11:59:59")

return

let $dateTime-var2 := xs:dateTime("2002-11-01T00:00:00")

return

let $mydur := xf:get-yearMonthDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

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 の get-yearMonthDuration-from-dayTimes 関数の説明

W3C の yearMonthDuration データ型の説明

W3C の dateTime データ型の説明

 


xf: get-dayTimeDuration-from-dateTimes

$dateTime-var1$dateTime-var2 の時間差を計算し、結果を dayTimeDuration 値として返します。

$date-var1 の値が $date-var2 の値よりも過去を表す場合は、戻り値は負の期間になります。

$date-var1 または $date-var2 の値が空のシーケンスである場合は、次のエラーが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。Type error in function subtract-dates invocation: 予期される型 : [date@http://www.w3.org/2001/XMLSchema], given type empty

シグネチャ

xf:get-dayTimeDuration-from-dateTimes(xs: dateTime $dateTime-var1, xs: dateTime $dateTime-var2) —> xf: dayTimeDuration

表 12-10 引数
データ型
引数
説明
xs: dateTime
$dateTime-var1
日付と時刻の表現を含みます。
xs: dateTime
$dateTime-var2
日付と時刻の表現を含みます。

戻り値

$dateTime-var1$dateTime-var2 の時間差を dayTimeDuration 値として返します。

$dateTime-var1$dateTime-var2 よりも過去を表す場合は、負の dayTimeDuration 値を返します ($dateTime-var1 で指定されている日付が $dateTime-var2 で指定されている日付よりも前である場合)。詳細については、次の例「差が負になる場合」を参照してください。

差が正になる場合

次のクエリ例では、$dateTime-var1 で指定されている日付が $datetime-var2 で指定されている日付よりも後であるため、正の日数、時間数、分数、および秒数が返されます。

let $dateTime-var1 := xs:dateTime("2002-12-26T01:01:01")

return

let $dateTime-var2 := xs:dateTime("2001-11-26T00:00:00")

return

let $mydur := xf:get-dayTimeDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

return

<result>

<days>{xf:get-days-from-dayTimeDuration($mydur)}</days>

<hours>{xf:get-hours-from-dayTimeDuration($mydur)}</hours>

<minutes>{xf:get-minutes-from-dayTimeDuration($mydur)}</minutes>

<seconds>{xf:get-seconds-from-dayTimeDuration($mydur)}</seconds>

</result>

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

<result>

<days>395</days>

<hours>1</hours>

<minutes>1</minutes>

<seconds>1</seconds>

</result>

差が負になる場合

次のクエリ例では、$dateTime-var1 で指定されている日付が $dateTime-var2 で指定されている日付よりも前であるため、負の日数、時間数、分数、および秒数が返されます。

let $dateTime-var1 := xs:dateTime("2001-11-26T00:00:00")

return

let $dateTime-var2 := xs:dateTime("2002-12-26T01:01:01")

return

let $mydur := xf:get-dayTimeDuration-from-dateTimes($dateTime-var1, $dateTime-var2)

return

<result>

<days>{xf:get-days-from-dayTimeDuration($mydur)}</days>

<hours>{xf:get-hours-from-dayTimeDuration($mydur)}</hours>

<minutes>{xf:get-minutes-from-dayTimeDuration($mydur)}</minutes>

<seconds>{xf:get-seconds-from-dayTimeDuration($mydur)}</seconds>

</result>

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

<result>

<days>-395</days>

<hours>-1</hours>

<minutes>-1</minutes>

<seconds>-1</seconds>

</result>

関連トピック

W3C の get-dayTimeDuration-from-dateTimes 関数の説明。

W3C の dayTimeDuration データ型の説明。

W3C の dateTime データ型の説明。


  ページの先頭       前  次