Fıkra kısa devre değerlendirildiği SQL?
Örneğin:
SELECT *
FROM Table t
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key)
Eğer@anahtar NULLdoğru olarak değerlendirilir@anahtar VE @tuşu BOŞ DEĞİL = t.Anahtardeğerlendirilir?
Hayır ise, neden olmasın?
Evet, bunun garantisi var mı? ANSI SQL bir parçası mı yoksa veritabanı belirli mi?
Belirli bir veritabanı varsa, SQL Server? Oracle? MySQL?
Referans: Short Circuit Evaluation
CEVAP
ANSI SQL 5WD-01-2003 Çerçeve-2003-09 Taslak.pdf
6.3.3.3 Kural değerlendirme sırası
...
Öncelik ifadelerin değerlendirilmesi etkili parantez Biçimleri ya da belirlenmiş değil genellikle sağdan sola doğru yapılır. Ancak, öyleuygulama-bağımlıifadeler olup olmadığını aslında değerlendirilmesi özellikle işlenen veya operatörler koşullar oluşturuldu neden olabilir zaman soldan sağaya bu ifadeler, sonuçlar tamamen ifade tüm parçaları değerlendirmek olmadan belirlenebilir.
Kısa-devre boolean operatörler C/C zor...
Nasıl kısa devre Dizi.break " demesi g...
Python desteği kısa devre mi yapıyor?...
Kısa devre operatörleri null Boolean d...
Neden mantıklı ve C kısa devre olmadığ...