論理式 (XQuery)
適用対象: SQL Server
XQuery では、論理 and 演算子と or 演算子がサポートされます。
expression1 and expression2
expression1 or expression2
SQL Server のテスト式 expression1,``expression2
、空のシーケンス、1 つ以上のノードのシーケンス、または 1 つのブール値が発生する可能性があります。 結果に基づいて、次の方法で有効なブール値が決まります。
テスト式の結果が空のシーケンスになった場合、式の結果は False になります。
テスト式の結果が 1 つのブール値になった場合、この値が式の結果になります。
テスト式の結果が 1 つ以上のノードのシーケンスになった場合、式の結果は True になります。
それ以外の場合は、静的エラーが発生します。
その後、論理 and 演算子と or 演算子が、標準の論理セマンティクスを持つ式の結果のブール値に適用されます。
次のクエリは、製品カタログから、特定の製品モデルの前角の小さな図 ( <Picture
> 要素) を取得します。 製品の説明ドキュメントごとに、サイズや角度など、異なる属性を持つ 1 つ以上の製品写真をカタログに格納できることに注意してください。
SELECT CatalogDescription.query('
declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
for $F in /PD:ProductDescription/PD:Picture[PD:Size="small"
and PD:Angle="front"]
return
$F
') as Result
FROM Production.ProductModel
where ProductModelID=19
結果を次に示します。
<PD:Picture
xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
<PD:Angle>front</PD:Angle>
<PD:Size>small</PD:Size>
<PD:ProductPhotoID>31</PD:ProductPhotoID>
</PD:Picture>