機能
論理和(or)演算または、論理積(and)演算を適用し、ブール値(trueまたはfalse)を返します。
記述形式
参照項番
一般規則
論理演算子の種類とその機能を以下に示します。
論理演算子 | 機能 |
---|---|
and | 第1オペランドと第2オペランドがtrueの場合、trueを返します。 |
or | 第1オペランドと第2オペランドのどちらか一方、または両方がtrueの場合、trueを返します。 |
論理式の評価は、まずオペランドの有効ブール値を決定することから始まります。オペランドの有効ブール値が決まれば、論理式の結果は以下の表に従い、ブール値かエラーを返します。
| 第2オペランドの有効ブール値 | |||
---|---|---|---|---|
true | false | エラー | ||
第1オペランドの有効ブール値 | true | true | false | エラー |
false | false | false | falseまたはエラー (注) | |
エラー | エラー | falseまたはエラー (注) | エラー |
注) どちらか一方のオペランドがエラーを返すような式であっても、論理式の結果は、エラーを返さずに、ブール値を返す場合があります。これは、オペランドの評価順序が変化する可能性があるためです。
| 第2オペランドの有効ブール値 | |||
---|---|---|---|---|
true | false | エラー | ||
第1オペランドの有効ブール値 | true | true | true | trueまたはエラー (注) |
false | true | false | エラー | |
エラー | trueまたはエラー (注) | エラー | エラー |
注) どちらか一方のオペランドがエラーを返すような式であっても、論理式の結果は、エラーを返さずに、ブール値を返す場合があります。これは、オペランドの評価順序が変化する可能性があるためです。
使用例
この式は、and演算子の第1オペランド1=1 と、第2オペランド"one" eq "one" の有効ブール値が共にtrueであるため、tureを返します。
1 = 1 and "one" eq "one"
この式は、and演算子の第1オペランド""の有効ブール値がfalseであり、第2オペランド"A"の有効ブール値がtrueであるため、falseを返します。
"" and "A"
この式は、and演算子の第1オペランド(/employees/employee[1]/@id , 5)の有効ブール値がtrueであり、第2オペランド(5 , /employees/employee[2]/@id)の有効ブール値がエラーであるため、エラーを返します。
(/employees/employee[1]/@id , 5) and (5 , /employees/employee[2]/@id)
この式は、or演算子の第1オペランド100の有効ブール値がtrueであり、第2オペランド0の有効ブール値がfalseであるため、tureを返します。
100 or 0
この式は、or演算子の第1オペランド3 > 5と、第2オペランド"two" ne "two"の有効ブール値が共にfalseであるため、falseを返します。
3 > 5 or "two" ne "two"
この式は、or演算子の第1オペランド () の有効ブール値がfalseであり、第2オペランドの有効ブール値がエラーであるため、エラーを返します。
() or ("A", "B", "C")