2012-10-30 3 views
1

'name'이라는 열이있는 테이블이 있습니다.MySQL 어디에서 일치시킬 문자로 바꾸기

예 :

Select * FROM table WHERE Name like %thats% 

그리고 그 결과로 ID 1 행을, 또는 실행 :

Select * FROM table WHERE Name like %ok% 

내가 좋아하는 일을 수행 할 수 있도록하려는

ID Name  Other  Field 
1 that's  x   y 
2 o-k   x   y 

결과로 ID 2 행이 있습니다. 하나는 이름 열의 대체 점으로 전체 테이블을 반환

SELECT *, REPLACE(Name , '.', '') AS Name FROM table 

:

지금까지 난 단지 실행할 수 있었다.

아이디어가 있으십니까?

감사합니다.

+0

없이, 3 쿼리가 모든 레코드를 반환합니다. – content01

답변

1

당신은 WHERE 절에 Name 문자열을 정리할 수 있습니다

SELECT * FROM table 
WHERE REPLACE(
      REPLACE(Name, "-", ""), "'", "" 
     ) LIKE "%ok%" 
+0

감사! ... 그랬어! :) – content01

0

내가하는 일을 이해하고 있는지 확실하지 않습니다. 대체 된 테이블을 검색하려는 것처럼 보입니까?

SELECT Name FROM twinkle 
WHERE Name EXISTS 
    (SELECT Name FROM twinkle WHERE Name Like %thats%)