검색기능에서 데이터타입이 nvarchar(100)인 필드에서 아래와 같이 검색을 하려고 합니다.
Table
m_idx m_company
1 Red Rock Ranch
2 RED ROOSTER
SELECT * FROM Member WHERE m_company LIKE 'red %'
예상되는 결과는 두개레코드셋이 모두 검색되어야 할텐데 1번은 검색되지 않고 2번만 검색됩니다.
그런데 아래와 같이 스페이스대신 언더바(_)를 넣으면 두개가 모두 검색됩니다.
SELECT * FROM Member WHERE m_company LIKE 'red_%'
이런경우의 원인은 무엇일까요?
회사이름으로 검색되지 않는 값들이 많다고 계속 항의를 받고 있는데
문제의 원인이 무엇인지 정확히 몰라서 답답합니다 ㅠㅠ
공백문자의 종류가 여러가지 인건가요?
고수님들 알려주세요~
방금 찾은 것이 있어서 업데이트 합니다.
일반적인 공백문자의 아스키코드값은 32라고 나오는데 검색이 되지 않는 레코드에 들어있는 공백문자의 아스키코드가 160으로 나옵니다.
공백문자가 아스키코드값 160으로 등록되는 경우는 왜그럴까요?
|