왜 끝에 '%'가있는 변수에 대한 행을 반환하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1245084

문제

Microsoft SQL Server에서 이것이 매우 이상하다고 생각합니다.

SELECT * FROM deliveries WHERE code LIKE '01999195000%'
-- 9 rows returned. Works.

DECLARE @a VARCHAR(10)
SET @a='01999195000%'
SELECT * FROM deliveries WHERE code LIKE @a
-- 0 rows returned? Why not?

SET @a = '01999195000'
SELECT * FROM deliveries WHERE code LIKE @a + '%'
-- 9 rows returned. Works.

% 문자를 포함하는 @A를 검색하는 것과 ' %'가 추가되지 않은 @A를 검색하는 것의 다른 점은 무엇입니까?

SQL Guru 's가 당신의 생각을 공유 할 수 있다면 그것은 좋을 것입니다.

도움이 되었습니까?

해결책

@A를 Varchar (10)로 정의했기 때문에 12자를 넣으려고했기 때문입니다.

다른 팁

@A Varchar (10)를 선언하는 것이 답입니다. @A는 %를 포함하지 않습니다.

"여기에서 좋아하는 것"을 의미하는 와일드 카드 캐릭터입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top