我目前正在成功地使用 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 表达式。