PostgreSQL中如何根据条件生成虚拟字段并赋值?
正确的PostgreSQL查询语句实现
没问题,我来帮你搞定这个PostgreSQL查询需求!这是符合你要求的正确SQL写法:
SELECT OFF_ID, CASE WHEN OFF_ID = 10661 THEN 'john' ELSE 'doe' END AS DUMMY FROM 你的表名 -- 记得替换成你实际使用的表名称 WHERE OFF_STATUS = TRUE;
关键细节说明:
- CASE语句的正确结构:
CASE开头后,用WHEN指定判断条件,满足条件时返回对应值;所有条件都不匹配时,用ELSE定义默认值,最后必须用END闭合CASE逻辑,再通过AS给虚拟字段命名为DUMMY。 - 筛选条件的位置:把
OFF_STATUS = TRUE放在WHERE子句里,能提前过滤掉不符合状态要求的记录,既符合业务逻辑也能提升查询效率。 - 注意替换表名:一定要把SQL里的
你的表名替换成你实际操作的数据库表名称,否则会出现表不存在的报错。
如果之前的CASE写法出错,大概率是漏写了END、AS,或者把条件放错了位置,这个写法应该能完美满足你的需求。
内容的提问来源于stack exchange,提问作者naspy971
相关产品推荐
相关产品推荐

