Làm cách nào để thoát chuỗi trong quy trình được lưu trữ của SQL Server sao cho an toàn để sử dụng trong biểu thức LIKE
.Thoát chuỗi trong SQL Server để an toàn để sử dụng trong biểu thức LIKE
Giả sử tôi có một biến NVARCHAR
như vậy:
declare @myString NVARCHAR(100);
Và tôi muốn sử dụng nó trong một biểu thức LIKE
:
... WHERE ... LIKE '%' + @myString + '%';
Làm thế nào để thoát khỏi chuỗi (cụ thể hơn, nhân vật mà có ý nghĩa đối với việc kết hợp mẫu LIKE
, ví dụ: %
hoặc ?
) trong T-SQL, để an toàn để sử dụng theo cách này?
Ví dụ, đưa ra:
@myString = 'aa%bb'
Tôi muốn:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
để phù hợp với 'aa%bb'
, 'caa%bbc'
nhưng không 'aaxbb'
hoặc 'caaxbb'
.
Bạn chưa đặt ngôn ngữ lập trình của mình ở –
Ngôn ngữ lập trình của anh ấy là T-SQL. –