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

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

没有成功。。。我能做什么?

最佳答案

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

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

第二,您是否在Rez字段中搜索“1z”,以查找包含“%1z%”的任何内容。如果是第一个,请将Like更改为=(尽管它将与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 = ''

关于mysql - 用MySQL中的文本替换NOTHING,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16775990/

10-11 02:57