2014-10-14 2 views
1

나는 oracle을 처음 사용하며 두꺼비를 사용하고 있습니다.Oracle 하나의 열에 특정 문자열이 들어있는 모든 레코드를 삭제하는 쿼리

나는 모든 기록을 삭제하려면, 하나의 특정 열 (U_MSG)는 열 U_MSG는 데 ", CALL HELPDESK"

포함 '어쩌구 저쩌구 foo는 ABCD XYZ LMN, CALL 헬프 데스크'

이 같은 시도 :

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

하지만 리서치를 받고 있지는 않습니다. 어떤 아이디어?

또한 2) 삭제 방법. 나는 대신에 공간을 넣고 싶다. 당신은 삭제 성명에서 *를 사용해서는 안

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

이것은 디자인 문제를 나타냅니다. – Mihai

답변

1

:

내가이 일

UPDATE Mytable t 
    SET column = REPLACE(t.U_MSG, ''%, CALL HELPDESK'', '% CALL HELPDESK') 
0
DELETE 
FROM MYTABLE 
WHERE U_MSG = ', CALL HELPDESK' 
1

당신은 LIKE 연산자를 사용할 수 있습니다했습니다. 그것은 당신에게 잘못된 테이블 이름 오류를 줄 것이다. 그리고 D Stanley가 말했듯이, 같은 연산자가 %를 잡아 당기기 위해 당신이 원하는 것입니다.

delete from mytable 
    where u_msg like '%, CALL HELPDESK'; 
관련 문제