首页 > 解决方案 > 如何根据 column2 中的字符串更新 column1?

问题描述

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

(更新) - 解决了问题,结果表明“%%”字段中区分大小写很重要!

标签: sqlpostgresql

解决方案


推荐阅读