2016-07-31 28 views
0
ersetzt

Ich versuche, den Durchschnitt und Median von mehreren Werten zu nehmen, aber sie kommen falsch heraus, weil die Werte, die ich in der Tabelle habe, die 0 sein sollen, als NaN in der Datenbank.Wie man NaN durch 0 in SQL

Gibt es eine Möglichkeit, alle Instanzen von NaN durch 0 zu ersetzen, damit ich meine Durchschnitts- und Medianwerte korrigieren kann?

+1

Welche DBMS verwenden Sie? –

+1

Wie sind diese 'NaN'-Werte an erster Stelle gelandet, soweit Sie wissen? –

+1

Kommt NaN aus Javascript? –

Antwort

0

ISNUMERIC ist das, was Sie suchen

Select case when ISNUMERIC(ColumnName)=1 then ColumnName else 0 end 

Diese Abfrage wird alle ColumnName ersetzen, die keine Zahl ist

Durchschnitt zu berechnen. Versuchen Sie diese Abfrage

Select 
AVG(Case When ISNUMERIC(ColumnName)=1 Then ColumnName Else 0 End) As [Average] 
From Tablename