葬空吟 2021-12-16 10:06 采纳率: 61%
浏览 24
已结题

MySQL replace 使用中出现了问题

SQL语句如下,需要对车型名称进行变换

SELECT REPLACE (REPLACE ( REPLACE ( REPLACE ( REPLACE ( 字段名, 'Q3', 'Audi Q3' ), '探岳', 'Tayron' ), 'Q3 Spb', 'Q3Spb' ), '探岳X', 'Tayron X ' ), 'GTE', 'Tayron' ) AS `carModel`,FROM表名

变换后车型名称问题不是我想要的,变换后的车型名称如下图所示

img

通过测试发现是因为原字段'Q3 Spb'中的Q3已经被REPLACE ( 字段名, 'Q3', 'Audi Q3' )替换,所以会变成Audi Q3Spb
现在的需求是怎样才能锁定当字段完全等于需要变化的内容时,才进行转换,而不是包含需要变化的内容就转换

请问这种情况应该怎么解决

  • 写回答

2条回答 默认 最新

  • 葬空吟 2021-12-16 15:23
    关注

    已自行解决,改用when...then...来解决

        CASE
                字段名 
                WHEN 'Coupe' THEN
                'Tayron X' 
                WHEN '探岳GTE' THEN
                'Tayron' 
                WHEN 'Q3 spb' THEN
                'Audi Q3Spb' 
                WHEN 'Q3spb' THEN
                'Audi Q3Spb' 
                WHEN 'Q3' THEN
                'Audi Q3' 
                WHEN '探岳' THEN
                'Tayron'
     ELSE 字段名 END 
            ) AS `carModel`,
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 修改了问题 12月16日
  • 修改了问题 12月16日
  • 展开全部

悬赏问题

  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 【有偿】调用DXGI截图初始化失败,提示0xf 887a0004
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复
  • ¥15 学校优化算法sbo和蚁群算法怎么结合
  • ¥21 matlab怎么求时域信号的二阶导数
  • ¥15 判断两个表是否完全相同
  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素