加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长百科 > 正文

Oracle SQL:Select语句中嵌套REPLACE()的替代方法?

发布时间:2020-12-31 09:08:29 所属栏目:站长百科 来源:网络整理
导读:所以我有一个看起来像这样的查询: SELECT IncidentNumber,ToiletType,ToiletDangers,IncidentDateFROM Core.LostLawsuits …返回以下结果: +----------------+------------+---------------------------+---------------+| IncidentNumber | ToiletType |

所以我有一个看起来像这样的查询:

SELECT IncidentNumber,ToiletType,ToiletDangers,IncidentDate
FROM Core.LostLawsuits

…返回以下结果:

+----------------+------------+---------------------------+---------------+
| IncidentNumber | ToiletType | ToiletDangers             | Incident Date |
+----------------+------------+---------------------------+---------------+
| 2100           | A          | Spontaneous Combustion    | 2/1/2016      |
+----------------+------------+---------------------------+---------------+
| 2101           | P          | Attracts Bear Stampede    | 2/1/2016      |
+----------------+------------+---------------------------+---------------+

我想做的是获取结果,但在输出时更改ToiletType列结果.目前,我正在使用嵌套的REPLACE(),并想知道是否有更好/不同的方法,同时维护ToiletType的一列结果:

SELECT IncidentNumber,REPLACE(REPLACE(ToiletType,'A','Automatic Standard'),'P','Portable Potty') as ToiletType,IncidentDate
FROM Core.LostLawsuits

解决方法

CASE表达式适用于您的示例:

case ToiletType
   when 'A' then 'Automatic Standard'
   when 'P' then 'Portable Potty'
   end

SELECT IncidentNumber,case ToiletType
          when 'A' then 'Automatic Standard'
          when 'P' then 'Portable Potty'
       end as ToiletType,IncidentDate
FROM   Core.LostLawsuits

也许更好的是加入ToiletTypes表?

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善