2013-05-27 49 views
1

我有一列有一些文本,另一列沒有任何信息(文本格式化),如果在Rez列找到「1 z」,我想用空格替換NOTHING。用MySQL中的文本替換NOTHING

我已經試過

UPDATE tablename 
SET Obs = REPLACE(Obs,'','Yes') 
WHERE Rez LIKE '1 z' 

沒有成功...我能做些什麼?

回答

1

夫婦問題。如果Obs爲空,則首先Obs = REPLACE(Obs, '', 'Yes')不會取代任何內容。相反使用:

UPDATE tablename 
SET Obs = 'Yes' 
WHERE Rez LIKE '1 z' 

其次,您是否在包含'%1 z%'的任何內容的'1 z'中搜索Rez字段。如果第一,改變你的希望=(儘管它會與像工作):

WHERE Rez = '1 z' 

運行後,如果添加%到您的LIKE子句:

WHERE Rez LIKE '%1 z%' 

最後,如果你只是想更新Obs字段,如果它是空白的,將其添加到您的WHERE標準:

UPDATE tablename 
SET Obs = 'Yes' 
WHERE Rez LIKE '%1 z%' 
    AND Obs = '' 
+0

yup ...就是這樣。謝謝 – unknown

+0

@unknown - 太棒了,很高興我們能幫上忙。 – sgeddes

0
UPDATE tablename 
SET Obs = REPLACE(Obs,'','Yes') 
WHERE Rez LIKE '%1 z%'