• +49-(0)721-402485-12
Ihre Experten für XML, XQuery und XML-Datenbanken

Vergleich von Zeitangaben

Der Vergleich von Zeitangaben wird aus Sicht des Benutzers vollkommen durch die klassischen Operatoren realisiert. Die eingebetteten Operatoren werden innerhalb der Spezifikation, wie bereits im Abschnitt über arithmetische Ausdrücke erwähnt, durch eine Vielzahl expliziter Operatoren unterstützt, die nicht direkt aufrufbar sind. Die folgende Tabelle gibt einen Überblick in einer komprimierten Darstellungsform. Anzumerken ist dabei, dass bei den darstellungsbezogenen Datentypen g{YearMonth|Year|MonthDay|MonthDay} ausschließlich ein Test auf Gleichheit existiert.

SignaturBeschreibung
op:{yearMonthDuration|
dayTimeDuration|
dateTime|
date|
time}-{equal|
less-than|
greater-than}(

$op1 as {xdt:yearMonthDuration|
xdt:dayTimeDuration|
xdt:dateTime|
xdt:date|
xdt:time},
$op2 as {xdt:yearMonthDuration|
xdt:dayTimeDuration|
xdt:dateTime|
xdt:date|
xdt:time})
as xs:boolean
15 Operatoren zur Realisierung der
Vergleichbarkeit von Wertepaaren
mit den Typen:
· yearMonthDuration
· dayTimeDuration
· dateTime
· date
· time
hinsichtlich
· $op1 = $op2
· $op1 < $op2
· $op1 > $op2
op:{gYearMonth|
gYear|
gMonthDay|
gMonth|
gDay}-equal(

$op1 as {gYearMonth|
gYear|
gMonthDay|
gMonth|
gDay},
$op2 as {gYearMonth|
gYear|
gMonthDay|
gMonth|
gDay})
as xs:boolean
5 Operatoren zum Test auf Gleichheit
von Wertepaaren mit den Typen:
· gYearMonth
· gYear
· gMonthDay
· gMonth
· gDay

Tab. Operatoren zur Realisierung der Vergleichbarkeit von Zeitangaben

Folgende Anfrage liefert beispielsweise eine Liste von Personen des Krankenhauspersonals, die im Jahr 2004 das Alter von 65 Jahren erreichen.

for $p in fn:foc("Hochwaldklinik.xml")//(Arzt | Pfleger)
where fn:getYearFromDate($p/Geburtsdatum)+65 eq 2004
return
<Rentenanwärter>{ $p/Name }</Rentenanwärter>

 

Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)

<< zurückvor >>