2011-08-30 24 views
11

Tablodaki bir sütunun maksimum değerini seçiyorum. Ancak bir sorun var: Tabloda satır yoksa, null değerini döndürür.Mysql'deki Oracle işlevi NVL'ye eşdeğer bir işlev var mı?

Sonuç boşsa, belirli bir değeri döndürecek bir işlev kullanmak istiyorum. Örneğin Oracle ile sütun null ise belirli bir değer veren NVL işlevi vardır. MySQL'de eşdeğer bir işlev var mı?

cevap

16
select coalesce(column_name, 'NULL VALUE') from the_table 
+3

Bu, NVL'nin SQL standart sürümüdür ve Oracle'da da çalışır (9i'den beri inanıyorum). – Thilo

+0

Soru sorar _ "Ama bir sorun var: Tabloda herhangi bir satır yoksa, null döndürür." _ Bununla birlikte, birleştirme bu sorunu çözmez - hiçbir satır döndürülmezse, hiçbir satır döndürülmez. Tüm yaptığı bazı satırlar döndürülür * verilen belirli bir sütun için null olmayan bir değer sağlar * Ama sonra, oracle de nvl yok :) – Adam

+0

@Adam. 'Max' toplama işlevi, tabloda hiç satır olmasa bile tek bir satır (içinde boş) ile döner. Bütün birleşme (ve sorulan tüm sorular), null değerinin varsayılan değere dönüştüğüdür. – Thilo

İlgili konular