sql - 根据条件从查询响应中选择一条记录 | 函数 postgres
问题描述
我是 sql/postgres 的新手,正在尝试编写一个 postgresql 查询,该查询将从数据库表中返回一条记录
我目前的查询:
select * from table
where key = 'WITS' or substring(key, 1,1) = substring('WITS', 1, 1);
回复:
- 白色的
- 智慧
问题:我想以仅返回WITS作为响应 的方式更新此查询。即如果key匹配,则返回记录否则匹配第一个字符
我认为 postgres 函数在这方面可能会有所帮助,我可以在其中添加这个 if/else 条件。
怎么做?
样本数据: keys = WITS、WHITE、Abhis、Amanda、Blue、Delta
附在屏幕截图中的表格
解决方案
带有条件的 Postgres 示例:
SELECT a,
CASE WHEN a=1 THEN 'one'
WHEN a=2 THEN 'two'
ELSE 'other'
END
FROM test;
您的情况可能类似于:
SELECT *,
CASE
WHEN key = 'WITS' THEN key
ELSE substring(key, 1,1)
END
FROM table;
推荐阅读
- webpack - 带有 Cookie 的 Webpack devServer 转发
- javascript - Discord API:缺少权限
- python - 比较 QLineEdit() 和 csv 文件值
- php - 使用 Neo4J PHP Client 时如何显示和执行 PHP 语句?
- php - 如何使用 PHP 使用 MySQL COUNT() 函数
- javascript - 使返回的 JSON 可以被 Flask 中的 javascript 读取
- javascript - 为什么 react-native 似乎无法识别我目录中的 png?
- google-apps-script - 从谷歌表中获取单元格值作为自定义日期格式
- intellij-idea - 尝试通过 IntelliJ 连接 Bigquery
- windows-services - NService Bus 在使用 Castle Windsor 时抛出 AnException