FIX: 잘못된 동작 [-] 인덱스 사용하면 LIKE

기술 자료 번역 기술 자료 번역
기술 자료: 290918 - 이 문서가 적용되는 제품 보기.
# BUG: 352098 (SHILOH_bugs)
모두 확대 | 모두 축소

현상

인덱스가 사용되는 경우에는 [-] 값을 포함하는 열에 대한 와일드카드 검색을 사용할 때 일치하는 행은 건너뛸 수 있습니다.

해결 방법

이 문제를 해결하려면 SQL Server 2000의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
290211INF: SQL Server 2000의 최신 서비스 팩을 구하는 방법

해결 과정

올바른 구문을 와일드카드 검색을 나타낼 수 있는 문자를 검색할 수 ESCAPE 절을 포함시킵니다 합니다:
select * from dashes where no_key like 'a[~-]a%' ESCAPE '~'
select * from dashes where primary_key like 'a[~-]a%' ESCAPE '~'
				

현재 상태

Microsoft은 SQL Server 2000에 문제가 있음을 확인했습니다. 이 문제는 SQL Server 2000 서비스 팩 1에서 처음 수정되었습니다.

추가 정보

-- Incorrect result set is produced by a "SELECT" which uses the "LIKE" 
-- clause where one argument is a primary key column and the other is a
-- string literal with "[-]" in the middle of it.
use northwind
set nocount off

if ( object_id('dashes') is not NULL ) drop table dashes
create table dashes 
( primary_key varchar(20) primary key, no_key varchar(20) )
insert dashes values ( 'a-a-key', 'a-a-value' )

print 'next two statements correctly return one record each'
select * from dashes where no_key like 'a-a%'
select * from dashes where primary_key like 'a-a%'

print 'for the primary key query, it incorrectly returns no rows'
select * from dashes where no_key like 'a[-]a%'
select * from dashes where primary_key like 'a[-]a%'

				
next two statements correctly return one record each
primary_key          no_key               
-------------------- -------------------- 
a-a-key              a-a-value

(1 row(s) affected)

primary_key          no_key               
-------------------- -------------------- 
a-a-key              a-a-value

(1 row(s) affected)

for the primary key query, it incorrectly returns no rows
primary_key          no_key               
-------------------- -------------------- 
a-a-key              a-a-value

(1 row(s) affected)

primary_key          no_key               
-------------------- -------------------- 

(0 row(s) affected)
				

속성

기술 자료: 290918 - 마지막 검토: 2003년 11월 6일 목요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
키워드:?
kbmt kbbug kbfix kbsqlserv2000sp1fix KB290918 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com