用MySQL中的文本替换NOTHING

时间:2013-05-27 15:10:17

标签: mysql

我有一个带有一些文本的列和另一个没有信息的列(文本格式化),如果在Rez列中找到“1 z”,我想用空格替换NOTHING。

我试过了

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

没有成功......我该怎么办?

2 个答案:

答案 0 :(得分:1)

夫妻问题。如果Obs为空,则第一个Obs = REPLACE(Obs, '', 'Yes')不会替换任何内容。而是使用:

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

其次,您是否在Rez字段中搜索包含'%1 z%'的任何内容的'1 z'。如果是第一个,请将你的喜欢改为=(虽然它会与Like一起使用):

WHERE Rez = '1 z'

如果以后,将%添加到LIKE子句:

WHERE Rez LIKE '%1 z%'

最后,如果您只想更新Obs字段(如果它为空),请将其添加到WHERE标准中:

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

答案 1 :(得分:0)

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