2015-01-29 6 views
0

테이블 PC와 PC/이름에 두 개의 값이 있습니다. 그러나 쿼리를 작성할 때SQL에서 정확한 문자열 일치를 수행하는 방법

select * from TransDetail TD where td.ModUserId like '%PC/%' 

두 결과를 모두 제공합니다. 레코드를 하나만 가져 오는 방법이 있습니까?

+0

'LIKE'를 사용할 때 '%'는 와일드 카드를 나타냅니다. 따라서 '% PC %'는 PC에있는 모든 것과 일치합니다. '% PC'는 PC에서 끝나는 부분과 일치하고 'PC %'는 PC에서 시작하는 부분과 일치합니다. 'PC'는 정확히 PC와 일치합니다. – Devon

답변

4

당신은해야 당신의 WHERE 같은 절 :

select * 
from TransDetail TD 
where TD.ModUserId ='PC' 

이 방법은 'PC' 일치하는 결과를 얻을 수 있습니다.
분야

0

당신이 경우 결과를주고 만든 같은 PC를 시작할 수 있다는/중간/끝 ..이 시도

select * from TransDetail TD where td.ModUserId like '%PC'

2

이 쿼리를 대신 사용해야합니다 값 PC의 정확한 일치 :

SELECT * FROM TransDetail TD WHERE TD.ModUserId = 'PC'; 

는 0 이상 발생 O를 의미 와일드 카드를 사용하는 WHERE 절에 %를 사용하여 f 문자를 그 위치에 놓습니다.

또한 실제로 LIKE '%PC/%'을 사용하는 경우 문에 여분의 '/'문자가 있기 때문에 값 PC가 아닌 값 PC와 일치해야합니다.

관련 문제