2016-04-13 17 views
1

Ich versuche NaNs aus einer Spalte in aws redshift zu entfernen (basierend auf PostgreSQL 8.0.2).So entfernen Sie NaNs in aws redshift

Ich mag würde eine Update-Anweisung verwenden, um dies zu tun, zum Beispiel:

UPDATE table001 
SET variable_a = NULL 
FROM table001 
WHERE variable_a = 'NaN' 

aber kann nicht einen Weg der Teilmenge auf die Zeilen, die ich brauche finden. Ich habe auch versucht, WHERE variable_a = 'NaN'::float und WHERE variable_a = FLOAT8 'NaN' aber in allen Fällen die where-Klausel

keine Zeilen zurückbringen (variable_a DATA_TYPE float8 hat)

+0

Einfach nur neugierig. Könnten Sie überprüfen: 'SELECT * FROM table001 WO NICHT (variable_1 <> 'NaN')'? Plus wahrscheinlich eine 'NULL'-Behandlung, wenn die Spalte Nullable ist. – lad2025

+0

danke für den Kommentar, habe ich versucht, aber es bringt null Zeilen zurück –

Antwort

3

NaN ist nicht gleich einem anderen NaN in RedShift Spalten (im Gegensatz zu PostgreSQL).

Sie sollten für die Textdarstellung überprüfen:

UPDATE table001 
SET  variable_a = NULL 
WHERE variable_a::TEXT = 'nan' -- mind the case 
+0

Mit 'WHERE Variable_a :: TEXT = 'NaN'' in der Where-Klausel funktioniert wie erwartet, danke –