Udostępnij za pośrednictwem


Wartość logiczna (XQuery)

Są to skutecznych wartość logiczna wartości:

  • Wartość false, jeśli argument jest pusty sekwencji lub wartość logiczna FAŁSZ.

  • W przeciwnym razie ma wartość true.

Wartość logiczna można obliczona dla wyrażenia, które zwracają wartość logiczną, sekwencja węzłów lub puste sekwencji.Należy zauważyć, że wartość logiczna jest obliczana niejawnie podczas przetwarzania następujących typów wyrażeń:

Oto przykład skutecznej wartości typu wartość logiczna.Gdy if wyrażenie jest przetwarzany, określany jest skuteczne wartość logiczna warunku.Ponieważ /a[1] zwraca pusty sekwencji, jest skuteczne wartość logiczna FAŁSZ.Wyniki są zwracane jako XML z węzłem jeden tekst (FAŁSZ).

value is false
DECLARE @x XML
SET @x = '<b/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go

W poniższym przykładzie skutecznych wartość logiczna ma wartość true, ponieważ wyrażenie zwraca niepustą sekwencję.

DECLARE @x XML
SET @x = '<a/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go

Gdy kwerenda wpisane xml kolumny lub zmienne, może mieć węzłów typu wartość logiczna.data() w takim przypadek zwraca wartość logiczna.Jeśli wyrażenie kwerendy zwraca wartość logiczna PRAWDA, skuteczne logiczna ma wartość true, jak w następnym przykładzie.Poniżej ilustruje w przykładzie:

  • Utworzono kolekcja schematu XML.Element <b> kolekcja jest typu wartość logiczna.

  • Pismo xml zmienna jest tworzony i proszeni.

  • Wyrażenie data(/b[1]) zwraca wartość logiczna PRAWDA wartość.Dlatego skutecznych wartość logiczna w tym przypadek ma wartość true.

  • Wyrażenie data(/b[2]) zwraca wartość logiczna FAŁSZ wartość.Dlatego wartość logiczna w tym przypadek jest false.

CREATE XML SCHEMA COLLECTION SC AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema">
      <element name="s" type="string"/>
      <element name="b" type="boolean"/>
</schema>'
go
DECLARE @x XML(SC)
SET @x = '<b>true</b><b>false</b>'
SELECT @x.query('if (data(/b[1])) then "true" else "false"')
SELECT @x.query('if (data(/b[2])) then "true" else "false"')
go

Zobacz także

Koncepcje

Inne zasoby