SQL Server 저장 프로시저 텍스트 검색에서 대괄호 처리
sys.sql_modules
및 sys.objects
을 사용하여 SQL Server 저장 프로시저 내에서 텍스트를 검색하는 것은 대괄호를 처리할 때 까다로울 수 있습니다. 표준 검색에서는 대괄호로 묶인 텍스트를 올바르게 찾지 못하는 경우가 많습니다.
해결책은 ESCAPE
연산자와 함께 LIKE
절을 사용하여 대괄호를 이스케이프 처리하는 것입니다. 이렇게 하면 SQL Server가 백슬래시를 이스케이프 문자로 처리하여 대괄호가 와일드카드 문자로 해석되지 않도록 합니다.
수정된 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT DISTINCT o.name AS Object_Name, o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id = o.object_id WHERE m.definition LIKE '%\[ABD\]%' ESCAPE '\';</code>
ESCAPE ''
절은 대괄호 앞의 백슬래시()가 대괄호를 리터럴 문자로 처리하여 대괄호 안의 텍스트 "[ABD]"와 정확하게 일치함을 의미합니다. 이스케이프하지 않으면 괄호가 특수 문자로 해석되어 잘못된 검색 결과가 발생합니다.
위 내용은 SQL Server 저장 프로시저에서 텍스트를 검색할 때 대괄호를 이스케이프 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!