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

  • EatingIn

    EatingIn

    12 EKİM 2013
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • UberFacts

    UberFacts

    26 EKİM 2013