我似乎在更新数据库(postgres)中的列时遇到了一个小问题。我正在尝试基于column2中的字符串更新column1。它背后的逻辑是:如果字符串包含“ rail”,则列2 =“ rail”。如果字符串包含“ air”,则列2 =“ air”。
我正在尝试使用CASE来完成这项工作,并且最终希望将其放入触发器中。
我已经搜索了stackoverflow来找到解决方案,我看到了很多类似的问题,但是没有一个对我有用。
UPDATE table1
SET column1 = CASE
WHEN column2 LIKE '%rail%' THEN 'rail'
WHEN column2 LIKE '%air%' THEN 'air'
ELSE 'other'
END;
我希望第1列输出铁轨,空气或其他。但这只是打印“其他”。
(更新)-已解决的问题,证明'%%'字段中的区分大小写很重要!