MySQL

2010-08-20 11 views
28

ile sıfır değerini sıfırla MySQL'deki bir işlemin sonuçlarında NULL değerleri alıyorum.MySQL

NULL değerlerini 0 değerine dönüştürmenin bir yolu var mı?

senin durumunda, ilk boş olmayan parametre dönmek COALESCE yöntem

cevap

43

Evet, kullanarak COALESCE.

SELECT COALESCE(null_column, 0) AS null_column FROM whatever;

BIRLEŞIM bunu vermek değerler listesinde geçer ve ilk boş olmayan bir değer döndürür.

+3

+1: 'COALESCE', SQL Server 2000+, Oracle 9i +, MySQL 4.1+ tarafından desteklenen ANSI, PostgreSQL veya SQLite sürümünün dunno ... –

+1

MySQL başlığında belirtilmiştir. Bunun için bir etiket ekledim. – RedFilter

+1

Bir SQL arabirimine sahip her 3VL DB'nin "coalesce()" işlevini desteklediğini düşünüyorum. Vaka ve nokta, [MySQL 3.23'teydi] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators) yaklaşık olarak namlunun dibine yakındır. alabilirsiniz. –

4

yoktur :

COALESCE(field, 0) 

Ama isterseniz bunu kullanabilirsiniz daha:

COALESCE(field1, field2, 0) 
2

MySQL:

SELECT COALESCE(Mycolumn, 0); 
33

kimse varsa IFNULL fonksiyon

Sen (sütunun değeri döndürecektir IFNULL

SELECT IFNULL(column_name, 0) FROM table_name; 

IFNULL kullanabilirsiniz sözü çünkü bu cevabı ekliyorum aksi halde NULL dışında bir şey) geçti (bu durumda 0).

+0

Teşekkürler, mysql'de kusursuz çalıştırın. – iarroyo