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

Arithmetische Operatoren und Funktionen

Neben den Vergleichsoperatoren schreibt der XQuery-Sprachstandard eine Menge von Operatoren und Funktionen zur Formulierung arithmetischer Ausdrücke vor. Analog zu den Vergleichsfunktionen sind aus Sicht der Anwendung wiederum die eingebetteten Operatoren in der Infix-Notation zu verwenden.

Die folgende Tabelle gibt zusammenfassend die Liste der definierten Operatoren und Funktionen wieder. Zu beachten ist dabei, dass für die beiden XQuery-spezifischen Datentypen xdt:yearMonthDuration und xdt:dayTimeDuration zusätzlich zwei Funktionen definiert werden, die eine Subtraktion von Wertepaaren vom Typ xs:dateTime mit den jeweiligen Datentypen als Ergebnistyp ermöglichen.

SignaturBeschreibung
op:{subtract|
add}-{yearMonthDurations|
dayTimeDurations}(

$arg1 as {xdt:yearMonthDuration|
xdt:dayTimeDuration},
$arg2 as {xdt:yearMonthDuration|
xdt:dayTimeDuration})
as {xdt:yearMonthDuration|
xdt:dayTimeDuration}
je zwei Operatoren zur Subtraktion bzw.
Addition von Zeitintervallen bzgl.
der beiden Datentypen:
· xdt:yearMonthDuration
· xdt:dayTimeDuration
fn:subtract-dateTimes-yielding-
{yearMonthDuration|
dayTimeDuration}(

$arg1 as xs:dateTime?,
$arg2 as xs:dateTime?)
as {xdt:yearMonthDuration?|
xdt:dayTimeDuration?}
zwei Funktionen zur Subtraktion
von xs:dateTime-Argumenten, wobei
der Zieldatentyp gewählt werden kann:
· xdt:yearMonthDuration
· xdt:dayTimeDuration
op:subtract-{dates|Sabon}(
$arg1 as {xs:date?|xs:time?},
$arg2 as {xs:date?|xs:time?})
as xdt:dayTimeDuration?
Subtraktion von Datums- bzw. Uhrzeit-
angaben mit Bezug auf einen Wert
von Datentyp xdt:dayTimeDuration
op:{subtract|
add}-{yearMonthDuration|
dayTimeDuration}-
{from|to}-{dateTime|
date|
time}(

$arg1 as {xs:dateTime|
xs:date|
xs:time},
$arg2 as {xdt:yearMonthDuration|
xdt:dayTimeDuration})
as {xs:dateTime|
xs:date|
xs:time}
Operatoren zur Subtraktion bzw. Addition
von zwei Zeitangaben mit
unterschiedlichem Ausgangszeitpunkt
vom Typ
· xs:dateTime
· xs:date
· xs:time
und unterschiedlichen Intervallen
· xsd:yearMonthDuration
· xdt:dayTimeDuration
(ausgenommen der Kombination von
xsd:yearMonthDuration und xs:time)
op:{multiply|divide}-
{yearMonthDuration|
dayTimeDuration}(

$arg1 as {xdt:yearMonthDuration|
xdt:dayTimeDuration},
$arg2 as xs:double)
as xdt:yearMonthDuration
Multiplikation bzw. Division einer Zeitdauer
vom Typ
· xsd:yearMonthDuration
· xdt:dayTimeDuration
mit bzw. durch eine(r) Zahl vom Datentyp
· xs:double

Tab. Arithmetische Operatoren und Funktionen für Zeitangaben

 

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

<< zurückvor >>