Neden NULL = NULL SQL server yanlış değerlendirmesi yapar
Eğer where yan tümcesi nullParam=NULL
varsa SQL server, her zaman yanlış olarak değerlendirilir. Bu mantığa aykırı olduğunu ve bana birçok hataları neden oldu. IS NULL
IS NOT NULL
anahtar bunu yapmak için doğru yol olduğunu anlıyorum. Ama neden SQL server bu şekilde davranıyor?
CEVAP
Boş olarak "" bu durumda (ya da "yok"). bilinmeyen düşünüyorum Bu durumda, birini ya da bunların değerini bilmiyorsun çünkü eşit olduğunu söylemek, bunu yapamazsın. Eşit olduklarını söylemek değerleri bilmiyorsun çünkü, null=true (false veya null, sisteminize bağlı olarak) sonucunu null. Bu davranış, SQL-92, ANSI Standardı tanımlanmıştır.
EDİT: Bu ansi_nulls senin ayarına bağlıdır. eğer ANSI_NULLS kapalı varsa, bu gerçek olarak değerlendirir. Örneği çalıştırmak için aşağıdaki kodu...
set ansi_nulls off
if null = null
print 'true'
else
print 'false'
set ansi_nulls ON
if null = null
print 'true'
else
print 'false'
Neden bu (null || !yapar TryParse) &qu...
Neden operatör null verildiğinde yanlı...
Neden >= yanlış zaman == null değer...
Neden yapar .() Olabilirdi boş bir diz...
Neden String yapar.değerini(null) bir ...