2016-04-13 15 views
1

aws redshift(PostgreSQL 8.0.2ベース)の列からNaNを削除しようとしています。aws redshiftでNaNを取り除く方法

私は、たとえば、これを行うには、更新ステートメントを使用したいと思います:

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

しかし、私が必要とする行にサブセットする方法を見つけることができません。

+0

興味があるだけ。 'SELECT * FROM table001 WHERE NOT(variable_1 <> 'NaN')'をチェックすることができますか? columnがnullの場合、おそらくはいくつかの 'NULL'処理があります。 – lad2025

+0

コメントをありがとう、私はこれを試したが、ゼロ行を返します –

答えて

3

NaNは、(PostgreSQLのとは違って)赤方偏移の列に別のNaNと等しくない(variable_aはDATA_TYPE float8型を持っている)私はまた、WHERE variable_a = 'NaN'::floatWHERE variable_a = FLOAT8 'NaN'を試してみましたが、すべてのケースで句は、任意の行

を持ち帰るない場合。

あなたは、そのテキスト表現をチェックする必要があります

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

WHERE variable_a :: TEXT = 'NaN''をwhere句で使用すると、期待通りに動作します –