Oracle Query删除一列包含特定字符串的所有记录

时间:2014-10-14 20:03:26

标签: sql oracle

我是oracle的新手,我正在使用toad。

我想删除所有这些记录,一个特定列(U_MSG)包含", CALL HELPDESK"

专栏U_MSG有'bla bla foo abcd xyz lmn,CALL HELPDESK'

我试过这样:

Delete * from mytable where U_MSG = '% ', CALL HELPDESK'

但是没有得到结果。任何想法?

另外2)如何删除,。我想用空格代替,。

我试过这个

UPDATE Mytable t
   SET column = REPLACE(t.U_MSG, ''%, CALL HELPDESK'', '% CALL HELPDESK')

3 个答案:

答案 0 :(得分:1)

您可以使用LIKE运算符:

Delete * from mytable where U_MSG LIKE '%, CALL HELPDESK'

答案 1 :(得分:1)

您不应在delete语句中使用*。它会给你一个无效的表名错误。正如D Stanley所说,类似的运算符就是你想要使用%作为捕获的所需。

  delete from mytable
  where u_msg like '%, CALL HELPDESK';

答案 2 :(得分:0)

DELETE 
FROM MYTABLE
WHERE U_MSG = ', CALL HELPDESK'