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

baiu 2022-11-3 868

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);//复制字符串



原文地址:https://www.cnblogs.com/afish/p/3924987.html

最新回复 (0)
返回
发新帖