現在、CASE 式を使用して、他の列の属性に基づいて空の列を更新しています。例えば
UPDATE table SET cat = CASE
WHEN term = '{"Boulder"}' then 'Boulder'
ただし、同じことをする必要がありますが、テキスト配列で、特に要素がその配列内の特定の位置にある場合に必要です。
たとえば、データが次のように見える場合
{"Boulder, Tree, Bush"}
WHEN position('Tree' in term) > 0 then 'Boulder'
しかし、エラーメッセージが表示されます
関数 pg_catalog.position(文字の変化[]、不明) は存在しません
以前に関数で位置を使用したことがあるので、この状況で PostgreSQL がそれを好まない理由がわかりません。
配列内のテキスト要素の位置を決定する際に CASE 式を使用する方法はありますか?