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.
Signatur | Beschreibung |
---|---|
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ück | vor >> |