mysql中replace只能替换既定字符串,如:
创新互联IDC提供业务:绵阳服务器托管,成都服务器租用,绵阳服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。
UPDATE`web_article`SETbody=REPLACE(body,'div','body');1
所以对于需要替换特定部分变化的字符串则显得无能为力,如:
BaseURI;/BaseURIRULE政民互动/RULESOURCE北京市经济和信息化委员会/SOURCEWEBROOT;/WEBROOTDISKROOTD:oot/DISKROOT
mysql
select
host,user
from
user
where
user='user';
+-----------------------+----------+
|
host
|
user
|
+-----------------------+----------+
|
localhost.localdomain
|
testuser
|
+-----------------------+----------+
update字段host的内容,把"main"改成"slave",用REPLACE
mysql
update
user
set
host=REPLACE(host,'main','slave')
where
user='user';
Query
OK,
1
row
affected
(0.00
sec)
Rows
matched:
1
Changed:
1
Warnings:
mysql
select
host,user
from
user
where
user='user';
+------------------------+----------+
|
host
|
user
|
+------------------------+----------+
|
localhost.localdoslave
|
testuser
|
+------------------------+----------+
你数据的具体情况我不是很清楚,这两种语句你自己看着用吧
select stuff(subject,1,7,'') as subject from pb_tudouthreads
--stuff(列名,从第几个字符开始,长度,替换成什么)
UPDATE pb_tudouthreads
SET subject= REPLACE(subject, LEFT(subject, 7), '')
WHERE (subject NOT LIKE '生活小常识——”%')
如果用户想改变表的默认字符集和所有的字符列的字符集到一个新的字符集,使用下面的语句:
ALTER
TABLE
tbl_name
CONVERT
TO
CHARACTER
SET
charset_name;警告:上述操作是在字符集中转换列值。如果用户在字符集(如
gb2312)中有一个列,但存储的值使用的是其它的一些不兼容的字符集(如
utf8),那么该操作将不会得到用户期望的结果。在这种情况下,用户必须对每一列做如下操作:
ALTER
TABLE
t1
CHANGE
c1
c1
BLOB;
ALTER
TABLE
t1
CHANGE
c1
c1
TEXT
CHARACTER
SET
utf8;
这样做的原因是:从
BLOB
列转换或转换到
BLOB
列没有转换发生。
如果用户指定以二进制进行
CONVERT
TO
CHARACTER
SET,则
CHAR、VARCHAR
和
TEXT
列将转换为它们对应的二进制字符串类型(BINARY,VARBINARY,BLOB)。这意味着这些列将不再有字符集,随后的
CONVERT
TO
操作也将不会作用到它们上。
如果仅仅改变一个表的缺省字符集,可使用下面的语句:
ALTER
TABLE
tbl_name
DEFAULT
CHARACTER
SET
charset_name;
DEFAULT是可选的。当向一个表里添加一个新的列时,如果没有指定字符集,则就采用缺省的字符集(例如当ALTER
TABLE
...
ADD
column)。
ALTER
TABLE
...
DEFAULT
CHARACTER
SET
和
ALTER
TABLE
...
CHARACTER
SET
是等价的,修改的仅仅是缺省的表字符集。
您好,update mt2 set name = replace(name, substring(name, locate('contact', name),locate('/contact', name)-locate('contact'+10, name)),'');
locate:
LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:
substring
SUBSTR(str,pos,len): 由str中的第pos位置开始,选出接下去的len个字元。
replace
replace(str1, str2, str3): 在字串 str1 中,当 str2 出现时,将其以 str3 替代。