SORU
24 EYLÜL 2008, ÇARŞAMBA


Fıkra DEĞİL ve NULL değerleri

Bu sorun, farklı kayıtları var ne zaman geldi aynı sanıyordum ne önemi sorgularını* not in *4 bir kısıtlama ve diğer bir left join kullanarak. not in kısıtlaması tablo sorgu 0 kayıt sayısını döndürmek için neden olan bir null değeri (hatalı veri) vardı. Sanırım neden ama bana yardımcı tam olarak kavram kavrama kullanabileceğimi anlıyorum.

Bu sadece devlet için neden Bir sorgu dönmek ama B yok bir sonucu mu?

A: select 'true' where 3 in (1, 2, 3, null)
B: select 'true' where 3 not in (1, 2, null)

Bu SQL Server 2005'te oldu. Ben de set ansi_nulls off B arama sonuç vermesine yol açan buldu.

CEVAP
24 EYLÜL 2008, ÇARŞAMBA


Sorgu aynıdır:

select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null

3 = 3 gerçek olduğundan, sonuç almak.

Sorgu B ile aynı

select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null

ansi_nulls, 3 <> null üzerinde olduğunda yüklem BİLİNMEYEN veren çok BİLİNMİYOR ve herhangi bir satır bulamazsın.

ansi_nulls 3 <> null yüklem doğru olarak değerlendirilen çok doğru, ve bir satır olsun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010