如何基于column2中的字符串更新column1?

时间:2019-06-04 08:14:50

标签: sql postgresql

我似乎在更新数据库(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列输出铁轨,空气或其他。但这只是打印“其他”。

(更新)-已解决的问题,证明'%%'字段中的区分大小写很重要!

0 个答案:

没有答案