更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加??
我的test表,有个user字段,我现在想在它后面加了另一个用户的名字
我在Oracle数据库这样写:
UPDATE test SET user= user+ ',phpchina' WHERE id= '2';
这样是不对的,Oracle数据库把它当成数字相加了,user字段值变成空了。
应该:
UPDATE test SET user= CONCAT(user,',phpchina') WHERE id= '2';
即:“+”只适合整数相加,不适合字符串。
附:两个MySQL字符串函数:
(1) CONCAT(str1,str2,...)
返回结果为将参数相连后得到的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型。
(2)CONCAT_WS()
update friend set cname=CONCAT_WS('.',cname,'wang') where id=1(字段cname原值为'Rick')
输出结果为Rick.wang.注意,第一个参数为连接两个字符串的字符.