mysql向表中某字段前后追加一段字符串 concat(), trim(), ltrim(), rtrim(), repeat()

1、mysql向表中某字段后面追加一段字符串:
update table_name set field=CONCAT(field, '分隔符', str);//'分隔符',可以为空,也可以省略
update table_name set field=CONCAT(field, str);
update table_name set field=CONCAT(field, str) where articleid=3487 and title not like '%v'

2、mysql向表中某字段前面追加一段字符串:
update table_name set field=CONCAT(str, field);

对于使用CONCAT方式,如果原字段field为null,那么无效。如mysql帮助文档所说,返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。

为了能够通用,最后用CONCAT_WS代替CONCAT

3、mysql向表中某字段后面追加一段字符串:

update table_name set field=CONCAT_WS('分隔符', field, str);//注意field前面的'分隔符'不能省略,但可以为空,否则会把原字段中所有内容替换为str,切记!
CONCAT_WS()
代表 CONCAT With Separator,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为
NULL,函数会忽略任何分隔符参数后的 NULL值。

update products_description set products_description=trim(products_description);//去除头尾空白
update products_description set products_description=ltrim(products_description);//去除头部空白
update products_description set products_description=rtrim(products_description);//去除尾部空白
update products_description set products_description=repeat(products_description,2);//复制字符串

上一篇:如何使用MySQL一个表中的字段更新另一个表中字段


下一篇:mysql 允许在唯一索引的字段中出现多个null值