2016-07-23 16 views
-1

Ich habe viele Tabellen der verschiedenen Ressourcen Produkt,0 SELECT wenn NULL gefunden - MySQL

Leider Quantity Spalte von Varchar Typ.

Einige Zeilen enthalten standardmäßig die Werte null, wenn während der INSERT-Operation nicht eingegeben wurde.

Ich möchte SELECT-Abfrage 0 zurückzukehren, wenn Menge null

SELECT CAST(quantity AS DECIMAL(6, 2)) 
FROM `tablename` 

war aber dies gibt noch NULL

Antwort

3

Verwendung COALESCE():

Gibt den ersten Nicht-NULL-Wert in der Liste , oder NULL, wenn keine Nicht-NULL-Werte vorhanden sind.

SELECT COALESCE(CAST(quantity AS DECIMAL(6, 2)), 0) 
FROM `tablename` 
+0

was, wenn ich LEER Wert statt 'null' haben. Wird es auch 0 zurückgeben? – Umair

+0

Wenn Sie eine leere Zeichenfolge übergeben, sollte das den Wert haben 0 –

2
SELECT CAST(COALESCE(quantity ,0) AS DECIMAL(6, 2)) 
FROM `tablename` 
+0

was ist, wenn ich einen leeren Wert anstelle von 'null' habe. Wird es auch 0 zurückgeben? – Umair

1

können Sie IFNULL

SELECT ifnull(CAST(quantity AS DECIMAL(6, 2)), 0) from your_table; 
Verwandte Themen