Otrzymuję wartości NULL
w wynikach operacji w MySQL.Zastąp wartość null wartością 0 w MySQL
Czy istnieje sposób przekonwertowania wartości NULL
na wartość 0?
Otrzymuję wartości NULL
w wynikach operacji w MySQL.Zastąp wartość null wartością 0 w MySQL
Czy istnieje sposób przekonwertowania wartości NULL
na wartość 0?
Tak, za pomocą COALESCE
.
SELECT COALESCE(null_column, 0) AS null_column FROM whatever;
COALESCE przechodzi przez listę wartości dajesz go i zwraca pierwszą wartość niezerową.
Istnieje metoda COALESCE
który zwróci pierwszy niezerowym parametr, w przypadku:
COALESCE(field, 0)
Ale można to wykorzystać, jeśli chcesz więcej:
COALESCE(field1, field2, 0)
MySQL:
SELECT COALESCE(Mycolumn, 0);
dodaję tę odpowiedź, ponieważ nikt nie wspomniał IFNULL
funkcja
Można użyć IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
zwróci wartość kolumny (jeśli ma coś innego niż NULL
), w przeciwnym razie drugi parametr przeszedł (w tym przypadku 0
).
Dzięki, działa idealnie w mysql. – iarroyo
+1: 'COALESCE' to ANSI, obsługiwane przez SQL Server 2000+, Oracle 9i +, MySQL 4.1+, dunno wersja PostgreSQL lub SQLite ... –
MySQL jest wymieniony w tytule. Dodałem do tego znacznik. – RedFilter
Myślę, że każdy DB 3VL z interfejsem SQL obsługuje 'coalesce()'. Przypadek i punkt, [był w MySQL 3.23] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators), który jest tak blisko dna beczki, jak możesz dostać. –