2014-07-23 4 views
1

가 봐() REPLACE : FIDDLEMySQL을 작동하지 않는 공백을 제거합니다. 중고 TRIM()와

select IF((TRIM(replace(' IKECHUKWU OSUJI',' ',''))=TRIM(replace('IKECHUKWU OSUJI',' 
',''))),"same","diff"); 
select IF((TRIM(replace(' Aman Minhas ',' ',''))=TRIM(replace(' Aman Min has',' 
',''))),"same","diff"); 

Err image 첫 번째 쿼리가 DIFF 반환합니다. 두 번째는 같은 결과를 반환합니다. 몇 가지 이상한 간격 문제, 왜 이런 행동을 이해하는 것 같습니다. 당신은 추가 REPLACE으로 제거 할 수

select IF((TRIM(replace(' IKECHUKWU OSUJI',' ','')) 
           ^this is actually a tab in the Fiddle 

:

REPLACE(REPLACE(myString, ' ', ''), '\t', '') 

\t 특수 문자가

+1

당신의 피들이 비어 있다는 것을 알고 있습니까? –

+0

죄송합니다. 수정되었습니다 .. 감사합니다 juergen – Aman

+0

FIDDLE에서 (당신이 권장 한대로) 이것을 실행하고 "동일"하고 "동일"합니다. 유일한 차이점은 코드를 붙여 넣은 후 피들 창에서 줄 바꿈을 제거했기 때문입니다. 이것을 재현 할 수 있습니까? (실행할 때 줄 바꿈을 제거한다고 가정)? – SlimsGhost

답변

4

첫 번째 문자열은 그 안에 탭이 있습니다. 개행이나 ASCII NUL과 같은 다른 특수 리터럴도 영향을 줄 수 있습니다. 리터럴은 here입니다.

+0

bravo! .. 고마워 ... – Aman