Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Это действительные логические значения:
Значение false, если операнд является пустой последовательностью или логическим значением false.
В противном случае — значение true.
Можно вычислить действительное логическое значение для выражений, возвращающих одно логическое значение, последовательность узла или пустую последовательность. Обратите внимание на то, что логическое значение вычисляется неявно в процессе обработки следующих типов значений:
Логические выражения
Не функция
Предложение WHERE выражения FLWOR
Далее приводится пример действительного логического значения.
При обработке выражения if определяется логическое значение условия. Действительное логическое значение является false, потому что /a[1] возвращает пустую последовательность. Результат возвращается как XML с одним текстовым узлом (false).
value is false
DECLARE @x XML
SET @x = '<b/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go
В следующем примере — действительное логическое значение true, поскольку выражение возвращает непустую последовательность.
DECLARE @x XML
SET @x = '<a/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go
При запросе типизированных xml-столбцов или переменных можно иметь узлы логического типа. Данные () в этом случае возвращают логическое значение. Если выражение запроса возвращает логическое значение true, действительное логическое значение, как показано в следующем примере — true. Это также показано в примере.
создается коллекция XML-схем; Элемент <b> в коллекции имеет логический тип.
Типизированные xml-переменные создаются и запрашиваются.
Выражение
data(/b[1])возвращает логическое значение true. Таким образом, в данном случае действительное логическое значение — true.Выражение
data(/b[2])возвращает логическое значение false. Таким образом, в данном случае действительное логическое значение — 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