Wie kann ich verwenden oder in Query?
Ich möchte zurückkehren, wenn name = "Michael" oder Alter = 21. das ist was ich habe
$d[contains((name,"Michael") or (age,"21"))]
Antworten:
2 für die Antwort № 1Wenn Sie überprüfen möchten, ob sie = =
$d[name = "Michael" or age = "21"]
oder wenn du tatsächlich verwenden möchtest enthält:
$d[contains(name,"Michael") or contains(age,"21")]
Wenn du schreibst contains((,) or (,) )
Sie benutzen scheinbar or
auf einer syntaktischen Ebene, die dem xquery-Parser zwei verschiedene gibt. Dies ist in Xquery oder den meisten anderen Programmiersprachen nicht möglich, da deren Funktionen und Operanden auf der Werte der Ausdrücke, nicht auf ihren Syntax. (name,"Michael")
hat jedoch keinen Wert (nun, es hat den Wert einer Zwei-Element-Sequenz, aber das ist nicht der Wert, an dem Sie interessiert sind) contains(name,"Michael")
hat den tatsächlichen Wert des Tests, wenn name
enthält "Michael"
. Also das oder muss zwischen zwei Anrufen liegen contains
.