sql - 替换SQL中的多个字符

标签 sql sql-server sql-server-2008

我想替换字符时遇到问题

我正在使用replace函数,但这没有给出所需的输出。

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

E - 电子邮件
P - 电话
M - session

enter image description here

我正在使用此查询

select table_value, 
       replace(replace(replace(table_value, 'M', 'MEETING'), 'E', 'EMAIL'), 'P', 'PHONE') required_value 
from foobar

因此第二个 required_value 行应该是 EMAIL、PHONE、MEETING 等等。

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

最佳答案

下面的方法可以工作(即使这不是一个聪明的解决方案)。

select 
    table_value, 
    replace(replace(replace(replace(table_value, 'M', 'MXXTING'), 'E', 'XMAIL'), 'P', 'PHONX'), 'X', 'E') required_value 
from foobar

关于sql - 替换SQL中的多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22496761/

相关文章:

php - 如何使用 yii 中的路径将文件上传到 mysql 表

php - 存储过程返回参数

sql - 如果选择中的变量赋值返回多个值,是否可能引发错误?

sql-server - SQL Server : Put stored procedure result set into a table variable without specifying its schema

sql - 为什么此查询会导致 TABLE ACCESS FULL 而不是 FULL INDEX SCAN?

sql - 对数组值进行内部联接的结果是多条记录

sql - 是否可以在兼容oracle的sql中比较元组?

sql - SQL Server:如何合并来自同一表的两个选择查询并在列上获取结果

c# - 有什么方法可以将 SQL Server *data* 转换为 Entity Framework 对象以用于播种数据吗?

sql-server-2008 - SQL 2008 地理和几何 - 使用哪个?