테이블 PC와 PC/이름에 두 개의 값이 있습니다. 그러나 쿼리를 작성할 때SQL에서 정확한 문자열 일치를 수행하는 방법
select * from TransDetail TD where td.ModUserId like '%PC/%'
두 결과를 모두 제공합니다. 레코드를 하나만 가져 오는 방법이 있습니까?
테이블 PC와 PC/이름에 두 개의 값이 있습니다. 그러나 쿼리를 작성할 때SQL에서 정확한 문자열 일치를 수행하는 방법
select * from TransDetail TD where td.ModUserId like '%PC/%'
두 결과를 모두 제공합니다. 레코드를 하나만 가져 오는 방법이 있습니까?
당신은해야 당신의 WHERE 같은 절 :
select *
from TransDetail TD
where TD.ModUserId ='PC'
이 방법은 'PC'만 일치하는 결과를 얻을 수 있습니다.
분야
의 당신이 경우 결과를주고 만든 같은 PC를 시작할 수 있다는/중간/끝 ..이 시도
select * from TransDetail TD where td.ModUserId like '%PC'
이 쿼리를 대신 사용해야합니다 값 PC의 정확한 일치 :
SELECT * FROM TransDetail TD WHERE TD.ModUserId = 'PC';
는 0 이상 발생 O를 의미 와일드 카드를 사용하는 WHERE 절에 %를 사용하여 f 문자를 그 위치에 놓습니다.
또한 실제로 LIKE '%PC/%'
을 사용하는 경우 문에 여분의 '/'문자가 있기 때문에 값 PC가 아닌 값 PC와 일치해야합니다.
'LIKE'를 사용할 때 '%'는 와일드 카드를 나타냅니다. 따라서 '% PC %'는 PC에있는 모든 것과 일치합니다. '% PC'는 PC에서 끝나는 부분과 일치하고 'PC %'는 PC에서 시작하는 부분과 일치합니다. 'PC'는 정확히 PC와 일치합니다. – Devon