2012-10-26 2 views
1

SQL Server에서 8 %의 문자 시퀀스에 특별한 것이 있습니까?SQL Server에서 8 % 문자 시퀀스의 중요성

나는 내 인생이 다음 쿼리는 % H539 대신 % H5398 %를 반환하는 방법을 알아낼 수 없습니다에 대한

DECLARE @contractnumber AS VARCHAR(5) = 'H5398' 
if(@contractNumber is not null) set @contractNumber = '%' + @contractNumber + '%' 
PRINT @contractnumber 
+1

이 값으로 LIKE 쿼리를 수행 할 준비가 된 것 같습니다. 선행 백분율 기호를 사용하는 LIKE 쿼리는 비효율적으로 악명이 높으며 인덱싱 할 수 없습니다. 데이터에 따라 전체 텍스트 색인을 읽는 것이 좋습니다. –

답변

4

당신은 VARCHAR있다 (5). '%H539'은 5 문자입니다. 필드가 꽉 차서 '8%'이 잘립니다. 대신 varchar (7)을 사용해보십시오.

+0

더 나은 varchar (8000) 및 그것에 대해 걱정하지 마십시오. 그것은 여전히 ​​7 바이트 걸립니다. – usr

+0

감사합니다. 항상 간과하는 간단한 것들. – user1778199