2013-02-17 3 views
1

좋아요, InnoDB에 테이블이 있습니다. "TEXT"필드 (varchar가 아님) 인 "맞춤법"이라는 열이 있습니다. 이 칼럼에서는 여러 가지 방법으로 철자를 쓰는데, 각 방법은 줄 바꿈으로 구분됩니다. 그런 다음 MySQL 검색 텍스트 일치를위한 TEXT 필드, 다중 행의 절대 값

Soulcalibur 
Soul Calibur 

나는이 정보

Soulcalibur II 
Soulcalibur 2 
Soul Calibur II 
Soul Calibur 2 

와 다른 행이

지금 내가 사용하고 내가 "소울 칼리버"가 포함 된 행을 찾으려면 말할 수 다음과 같이 예를 들어 행 중 하나입니다 :

SELECT * FROM games WHERE spellings LIKE '%Soul Calibur%' 

이 문제는 기술적으로 두 번째 행은 "소울 칼리버"가 없기 때문에이 두 행을 반환합니다. Soul Calibur를 쿼리하기위한 MySQL 쿼리에서 행에 정확한 Soul Calibur가 포함 된 필드 만 표시하는 방법이 있습니까? 기본적으로 줄 바꿈을 구문 분석 한 후 정확히 일치시킵니다. 첫 번째 행은 기술적으로 난 당신이 줄 바꿈에 대한 문자 (10)를 사용할 필요가 있다고 생각 Soulcalibur\nSoul Calibur

답변

0

때문에

나는 %를 제거하면

, 그것은 작품을 나던. 따라서 CONCAT ('% Soul Calibur', CHAR (10), '%')와 같은 을 시도하십시오.

+0

이것은 무엇을할까요? –

+0

좋아요, 이건 효과가 없습니다. 'Soul Calibur'가 아닌 'Soulcalibur'와 일치합니다. 줄 끝이므로 줄 바꿈이 없으므로 Soul Calibur가 아닙니다. –

+0

그게 효과가있어, 고마워. –