【问题标题】:SQL - find and replace within one column based on query on anotherSQL - 根据对另一列的查询在一个列中查找和替换
【发布时间】:2017-07-11 20:20:12
【问题描述】:

我不会做太多 SQL,所以需要一些简单的帮助。

我有以下Table

ID term value
--------------
1 term1 slug/
2 term1 slug/
3 term2 something/something
4 term2 slug/
5 term3 slash-/-something

我想做的是在value列中查找/并用空字符串替换,但仅在term等于term1时替换

结果是:

ID term value
--------------
1 term1 slug
2 term1 slug
3 term2 something/something
4 term2 slug/
5 term3 slash-/-something

我可以选择term 中等于term1 的所有内容,我可以用/ 查找和替换value 中的所有内容,但我似乎不知道如何将两者结合起来一起操作。

注意:我知道没有 FIND AND REPLACE 操作。

【问题讨论】:

  • 你在说什么? I recognize there's no FIND AND REPLACE operation??? Wordpress 通常使用 MySql,您只需要更新此表 update value = replace(value, '/','') where term = 'term1'
  • 我的意思是我知道它不叫查找和替换。而且,不幸的是,您提供的内容不起作用
  • 你是如何运行它的,错误信息是什么?
  • 哦,我看到错误了,我没有把表名放在更新命令上:update yourTableNameHere set value = replace(value, '/','') where term = 'term1'

标签: sql wordpress phpmyadmin sql-update


【解决方案1】:

试试这个:

SELECT ID, term, CASE  WHEN term = 'term1' THEN REPLACE(value, '/','')
        ELSE value
    END AS value
FROM tablename

【讨论】:

    【解决方案2】:

    你只需要在数据库中执行一个Update命令:

    update yourTableNameHere 
       set value = replace(value, '/','') 
     where term = 'term1'
    

    【讨论】:

    • 谢谢。既然我一起看到它,这很有意义。
    • 很高兴我能帮上忙 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2021-07-20
    相关资源
    最近更新 更多