11
Wybieram maksimum kolumny z tabeli. Ale jest jeden problem: jeśli w tabeli nie ma żadnych wierszy, zwracana jest wartość null.Czy istnieje odpowiednik funkcji Oracle NVL w Mysql?
Chcę użyć funkcji, która zwróci pewną wartość, jeśli wynik jest zerowy. Na przykład z Oracle jest funkcja NVL
, która daje pewną wartość, jeśli kolumna ma wartość null. Czy istnieje odpowiednik funkcji w MySQL?
To jest standardowa wersja NVL dla SQL i działa również w Oracle (od 9i, jak sądzę). – Thilo
Pytanie z pytaniem _ "Ale jest jeden problem: jeśli w tabeli nie ma żadnych wierszy, to zwraca wartość null." _ Jednakże, koalescencja nie rozwiązuje tego problemu - jeśli nie zostaną zwrócone żadne wiersze, wówczas nie są zwracane żadne wiersze. Wszystko, co robi, to zapewnienie wartości innej niż null dla pewnej kolumny * pod warunkiem, że niektóre wiersze są zwracane * Ale potem, ani nie robi nvl w oracle :) – Adam
@Adam. Funkcja agregująca 'max' zwróci pojedynczy wiersz (z wartością zerową), nawet jeśli w tabeli nie ma żadnych wierszy. Cała ta koalescencja (i wszystkie zadawane pytania) zmieniają wartość zerową na wartość domyślną. – Thilo