SQL查询 - 如果条件已验证,则按文本替换文本

时间:2017-07-22 15:01:14

标签: mysql sql

我有超过3000次修正。

我的数据库有一个名为ps_product_lang的表, 在表ps_product_lang中,我有一列名为link_rewrite,一列名为description_short

link_rewrite列中,我希望仅当rask-usb-billader列包含“

Rask USB lader时,才用此rask-usb-lader替换此表达式description_short eksklusivt“如果不是那么不要替换。

4 个答案:

答案 0 :(得分:1)

尝试以下查询:

update ps_product_lang
set link_rewrite = replace(link_rewrite,'rask-usb-billader','rask-usb-lader')
Where 
description_short like '%Rask USB lader eksklusivt%'

答案 1 :(得分:0)

尝试使用以下查询。

SELECT 
 CASE 
    WHEN ps.description_short="Rask USB lader eksklusivt"
    THEN "rask-usb-lader" else ps.link_rewrite END AS link_rewrite
    FROM ps_product_lang ps

答案 2 :(得分:0)

update ps_product_lang
set link_rewrite = case when link_rewrite = 'rask-usb-billader' and description_short = 'Rask USB lader eksklusivt' then 'rask-usb-lader'
                        else link_rewrite
                   end;

如果您使用的是MySQL工作台,请确保禁用安全模式,该模式启用没有FROM子句的更新。

答案 3 :(得分:0)

update ps_product_lang
set link_rewrite = 'rask-usb-lader'
Where 
link_rewrite = 'rask-usb-billader' and 
description_short = 'Rask USB lader eksklusivt'