替换SQL中的多个字符

Nik*_*wal 11 sql sql-server sql-server-2008

我有一个问题,我想要替换字符

我正在使用replace功能但是没有提供所需的输出.

列table_value的值需要替换为其填充名称,如

电子邮件
P - 电话
M - 会议

在此输入图像描述

我正在使用此查询

select table_value, 
       replace(replace(replace(table_value, 'M', 'MEETING'), 'E', 'EMAIL'), 'P', 'PHONE') required_value 
from foobar
Run Code Online (Sandbox Code Playgroud)

所以第二required_value行应该是EMAIL,PHONE,MEETING等等.

我应该怎么做才能使所需的值正确?

xda*_*azz 27

以下将工作(即使它不是一个聪明的解决方案).

select 
    table_value, 
    replace(replace(replace(replace(table_value, 'M', 'MXXTING'), 'E', 'XMAIL'), 'P', 'PHONX'), 'X', 'E') required_value 
from foobar
Run Code Online (Sandbox Code Playgroud)