Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Ini adalah nilai Boolean yang efektif:
False jika operand adalah urutan kosong atau boolean false.
Jika tidak, nilainya benar.
Nilai Boolean yang efektif dapat dihitung untuk ekspresi yang mengembalikan nilai Boolean tunggal, urutan simpul, atau urutan kosong. Perhatikan bahwa nilai Boolean dihitung secara implisit saat jenis ekspresi berikut diproses:
Ekspresi logika
Fungsi bukan
Klausa WHERE dari ekspresi FLWOR
Berikut ini adalah contoh nilai Boolean yang efektif.
Ketika ekspresi if diproses, nilai Boolean yang efektif dari kondisi ditentukan. Karena /a[1] mengembalikan urutan kosong, nilai Boolean yang efektif adalah false. Hasilnya dikembalikan sebagai XML dengan satu simpul teks (false).
value is false
DECLARE @x XML
SET @x = '<b/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go
Dalam contoh berikut, nilai Boolean yang efektif adalah true, karena ekspresi mengembalikan urutan tidak ada.
DECLARE @x XML
SET @x = '<a/>'
SELECT @x.query('if (/a[1]) then "true" else "false"')
go
Saat mengkueri kolom atau variabel xml yang di ketik, Anda bisa memiliki simpul jenis Boolean. Data () dalam hal ini mengembalikan nilai Boolean. Jika ekspresi kueri mengembalikan nilai true Boolean, nilai Boolean yang efektif adalah true, seperti yang ditunjukkan pada contoh berikutnya. Berikut ini juga diilustrasikan dalam contoh:
Koleksi skema XML dibuat. Elemen <b> dalam koleksi adalah jenis Boolean.
Variabel xml yang di ketik dibuat dan dikueri.
Ekspresi
data(/b[1])mengembalikan nilai true Boolean. Oleh karena itu, nilai Boolean yang efektif dalam hal ini adalah benar.Ekspresi
data(/b[2])mengembalikan nilai palsu Boolean. Oleh karena itu, nilai Boolean yang efektif dalam kasus ini adalah 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