Wertevergleich
Ausdrücke, die einen Wertevergleich beschreiben, werden dazu verwendet, um einzelne Ausprägungen, d. h. atomare Werte, unterschiedlicher Datentypen miteinander zu vergleichen. Wertevergleichsausdrücke finden sich üblicherweise in where-Klauseln von FLWOR-Ausdrücken wieder. Im folgenden Beispiel, in dem alle Patienten des Arztes Stefan Müller ermittelt werden, findet sich ein Wertevergleich in der where-Klausel bei dem Test auf den korrekten Nachnamen.
In diesem Zusammenhang ist auf zwei besondere Situationen hinzuweisen. Der Vergleich von zwei leeren Zeichenketten – unter Berücksichtigung der Dualität von einelementiger Sequenz und atomarem Wert – liefert den Wahrheitswert true :
Anders verhält es sich bei einem Wertevergleich von zwei NaN-Werten, wobei grundsätzlich der Wahrheitswert false zurückgeliefert wird, d. h. NaN != NaN. Ist es explizit erforderlich, auf NaN zu testen, so muss für den Test auf den Wert NaN auf einen Trick mit der Konvertierung des NaN-Wertes in eine Zeichenkette und einem anschließenden Vergleich mit dem String "NaN" zurückgegriffen werden.
Die let-Klausel bindet dabei den Wert NaN an die Variable $x, der in der where-Klausel in eine Zeichenkette konvertiert und dann mit dem String "NaN" verglichen wird.
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)
<< zurück | vor >> |