【Oracle】替换语句:replace,case-when-then-else-end语句

一、问题

在数据库查询中,如果我们想“替换”到掉我们表名,可以用别名as 或者空格加别名;如果我们要替换查询到的数据的值该怎么做呢?

二、case-when-then-else-end语句

我们可以使用case-when-then语句,具体如下:

select 
a.id,
case
    when a.name ='zhangming' then '张明'
    when a.name ='mingzhang' then '张明'
    else null
end,
a.grade
from user a

这样,查询到结果后,该sql会自动将查询的结果中,name为‘zhangming’的值,替换为’张明’,同理,将名字为‘mingzhang’的值,替换为’张明’,如果没有,则赋值为null;

当然,也可以写成这种样式:

select 
a.id,
case a.name
    when  'zhangming' then '张明'
    when 'mingzhang' then '张明'
    else null
end,
a.grade
from user a

三、replace关键字

或者,你可以使用replace语句,比如将时间‘2018-07-09’里的中杠替换成斜杠;

replace(date,'-','/')

这里的date指的是‘2018-07-09’所对应的字段,需要你自己根据自己情况修改;

猜你喜欢

转载自blog.csdn.net/river_continent/article/details/80968402