2013-05-15 43 views
1

我要搜索的精確匹配和替換它。查找和MySQL的替換 - 精確匹配情況下,只有

我已經嘗試了本

update [table_name] 
set 
    [field_name] = replace([field_name], '[string_to_find]', '[string_to_replace]'); 

這上面的查詢是沒有做我想要什麼。它正在取代這個詞,即使是在另一個工作中。但我想更換 - 只有精確匹配的情況。

更新:

我想更換一個向蘋果和E大象

,當我跑第一次查詢它替換了蘋果公司,然後,當我再次運行它替換

E至大象和蘋果APPLELEPHANT(蘋果有在最後五),但我不想這樣做

EG

CODE 

A  
E 
C 

當我運行這個update table1 set code = replace(code,'A','APPLE');

它轉化爲

CODE 

APPLE  
E 
C 

是OK!

並且當我跑此更新表1組代碼=替換(代碼,「E」,「大象」);

CODE 

APPLELEPHANT  
ELEPHANT 
C 

蘋果也恐難我不希望這樣的

謝謝!

+0

根據您的描述,您的查詢_is_替換完全匹配的地方找到他們(包括詞的中間)。你的意思是你只想替換比賽,如果它是一個獨特的詞?如果是這樣,請指定預期匹配的準確標準。 –

+0

是的,他是。喜歡「你好,我今天在這裏」今天跟明天一起回報會讓它一無所獲 – Drew

+0

@DrewPierce在你的例子中,'今日'是'今日'這個詞的一部分。其結果將是「您好,我是heretomorrow」這聽起來像完全的結果,確定OP目前得到。 –

回答

1

試試這個:

UPDATE [table_name] 
SET [field_name] = '[string_to_replace]' 
WHERE [field_name] = [string_to_find]; 
+0

它是什麼我想兄弟。它失敗:( – user2373405

+0

當它「失敗」,你需要更具體。錯誤?沒有做任何事情? – tadman

+0

@tadman我已更新我的問題,請檢查它 – user2373405