标题:MYSQL 在字段里现有内容后面加东西 出处:沧海一粟 时间:Thu, 02 Jul 2015 15:02:19 +0000 作者:jed 地址:http://www.dzhope.com/post/1004/ 内容: 昨天,同事问了我一个问题。在不查出原有数据的情况下,怎么样在现有字段内容的后面加如新的东西.比如,有个friend表,有个cname字段,ID为1,现在里面已经有内容为Rick,我想把 这个内容变为Rick.wang.刚开始,我们是用+号这样的写的. update friend set cname=cname+'wang' where id=1. 但这样加后,这个字段的内容就变为空了。最后我们证实,+只适合整数相加,不适合字符串. 今天看MYSQL手册的时候看到了个函数.concat,这个函数是连接字符串的。 手册里这样写 CONCAT(str1,str2,...) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 我试了下。成功了。SQL语句为 update friend set cname=CONCAT(cname,'.wang') where id=1 ,这样就可以完成字符串相加了。输出结果为Rick.wang. 还看到一个函数.是用字符串连接的。如下。 update friend set cname=CONCAT_WS('.',cname,'wang') where id=1, 输出结果为Rick.wang.注意,第一个参数为连接两个字符串的字符. Generated by Bo-blog 2.1.1 Release