mysql - 如何用 MySQL 中另一个字符串和一个字段的串联替换任何字符串

标签 mysql sql string string-concatenation

我想用 myString + field2 的串联替换 field1 中的任何字符串(空或其他)。我该怎么做?

这是我尝试过的,但它不起作用:

UPDATE table SET field1 = REPLACE(field1, '%', CONCAT(myString, field2));

我猜问题是“%”,因为我不知道如何匹配任何字符串。

最佳答案

你会这样做:

UPDATE t  -- this is the name of the TABLE, not the COLUMN
    SET field1 = CONCAT(COALESCE(mystring, ''), COALESCE(field1, ''));

% 是一个通配符,仅用于LIKE。它不是某种通用的通配符。如果您想连接两个其他值:

UPDATE t  -- this is the name of the TABLE, not the COLUMN
    SET field1 = CONCAT(COALESCE(mystring, ''), COALESCE(field2, ''));

当然,COALESCE() 仅在您想将 NULL 视为空字符串时才是必需的(否则 CONCAT() 返回 NULL).

关于mysql - 如何用 MySQL 中另一个字符串和一个字段的串联替换任何字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388841/

相关文章:

MySQL GROUP_CONCAT 重复条目

sql - 意外的#temp 表性能

mysql - 无法添加外键约束,mysql

string - 绑定(bind)到参数时,如何防止字符串参数从 null 更改为空?

java - 如何在 Java POJO 上创建不区分大小写的字段。寻找好的设计。

c - 如何在 C 中将 char 数组转换为整数?

mysql - 纠正 MySQL JOIN 格式以避免嵌套 SELECT

php - 我如何才能对我的 PHP/MYSQL 新闻网站进行基准测试/配置文件,以便我以后可以将它与 django/postgres 重新编码的版本进行比较?

php - 安全地减少用户余额列。我应该使用乐观锁定吗?

Mysql:如何在不知道ID的情况下将数据添加到行中?