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

  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009