2014-12-17 59 views
8

Chcę wymienić konkretny ciąg w bazie danych MySQL, używam tej kwerendy:Jak znaleźć i zastąpić ciąg w MySQL dla konkretnego napisu tylko

UPDATE users SET name = replace (nazwa „raj” , 'rajesh')

Jednak to, co robi to zapytanie, gdzie znajduje raj, zostanie zastąpione przez rajesh, np. jeśli istnieje string raju w databse po uruchomieniu tego zapytania, raju staje się rajeshu, którego nie chcę. chcę zapytanie, które pasuje do ciągu zastępującego dokładnie oznacza po uruchomieniu kwerendy tylko "raj" powinien zostać zastąpiony przez "rajesh", a "raju" powinno pozostać tak, jak jest .. czy ktoś może pomóc?

Odpowiedz

2

Ta kwerenda działa dla mnie:

UPDATE users 
SET name = replace(name,'raj','rajesh') 
WHERE name = 'raj' 
+0

Skoro nazwa taka jak "raj kumar rajan"? –

0

Spróbuj tego:

UPDATE users 
SET name = 'rajesh' 
WHERE name = 'raj'; 
2

Spróbuj poniżej zapytania zastąpić raj z rajesh

update users set name=replace(name,' raj ',' rajesh '); 

LUB

update users set name=replace(name,'raj ','rajesh ') where name like '% raj %'; 
2

Wypróbuj to na pewno zadziała.

update users 
set name=replace(LOWER(name),'raj','rajesh') 
where 
name like 'raj %' 
OR 
name like '% raj %' 
OR 
name = 'raj'