我有这样的数据库,我想通过检查性别列和覆盖 emp_name 字段来覆盖该字段。
emp_id | emp_name | gender
-------+----------+--------
501 | aaa | M
502 | bbb | F
503 | ccc | F
504 | ddd | M
505 | eee | F
Run Code Online (Sandbox Code Playgroud)
我想要这样的输出
emp_id | emp_name | gender
-------+----------+--------
501 | Mr.aaa | M
502 | Ms.bbb | F
503 | Ms.ccc | F
504 | Mr.ddd | M
505 | Ms.eee | F
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的选择查询
$select overlay(emp_name placing 'Mr.' from 1 for 0 ) from emp where gender = 'M' ;
Run Code Online (Sandbox Code Playgroud)
我得到的这个输出,
overlay
---------
Mr. aaa
Mr. ddd
(2 rows)
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到预期的结果。有什么办法可以达到预期的结果吗?
提前致谢
下面的查询应该给出您期望的输出:
SELECT emp_id
, CASE WHEN gender = 'M' THEN 'Mr. '
WHEN gender = 'F' THEN 'Ms. '
ELSE '' END || emp_name as emp_name
, gender
FROM emp;
Run Code Online (Sandbox Code Playgroud)