LIKE
표현식 에서 안전하게 사용할 수 있도록 SQL Server의 저장 프로 시저에서 문자열을 이스케이프하려면 어떻게해야합니까?
다음 NVARCHAR
과 같은 변수 가 있다고 가정합니다 .
declare @myString NVARCHAR(100);
그리고 LIKE
식에서 사용하고 싶습니다 .
... WHERE ... LIKE '%' + @myString + '%';
T-SQL에서 문자열 (더 구체적으로는 LIKE
패턴 일치에 의미있는 문자 , 예를 들어 %
또는 ?
)을 어떻게 이스케이프하여 이러한 방식으로 사용하는 것이 안전합니까?
예를 들면 다음과 같습니다.
@myString = 'aa%bb'
내가 원하는:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
일치합니다 'aa%bb'
, 'caa%bbc'
하지만 'aaxbb'
나 'caaxbb'
.