2016-10-22 19 views
0
SELECT substring(category FROM '[0-9]+') from microwaves; 

これは正常に動作し、数値のマイクロ波カテゴリを返します。部分文字列エラー:WHEREの引数は、型のテキストではなく、ブール型でなければなりません。

UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+'); 

これはPostgresの9.5

ERROR: argument of WHERE must be type boolean, not type text

どのように数値フィールドを更新することができ、エラーがスローされますか?

答えて

1

WHERE句は、句をtrueにするすべての項目に結果をフィルタリングするために使用されますが、SUBSTRING()はテキストを返します。おそらく、次のいずれかを探しています:

UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+') is null; 

- または -

UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+') is not null; 
+0

さらに簡単: 'WHEREカテゴリ〜 '[0-9] +'' –

関連する問題