sql - 如何根据 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 列输出铁路、空气或其他。但它只打印“其他”。
(更新) - 解决了问题,结果表明“%%”字段中区分大小写很重要!
解决方案
推荐阅读
- python-3.x - 如何使用pywinauto从不可检测控件的应用程序中获取文本[编辑]?
- java - 如何在 SpringBoot CrudRepository 中将本机查询从 Service 层传递到 Repository 层
- javascript - 字符串拆分避免“\n” JavaScript
- javascript - Leaflet openstreetmap 加载,但未出现
- php - 如何在 Symfony 4 上的输入文件上显示错误?
- ios - 通过 OneDrive API 或替代方法访问 DocumentLibrary
- android - 与在 kotlin/android 中接受邀请的所有用户共享单个用户单击的所有值
- javascript - Angular 即时搜索仅在按下回车键或按下搜索图标时显示命中
- linux - 直接从脚本运行命令到另一个进程
- postgresql - postgresql 中的 slonik 是什么