Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thoát các ký tự đặc biệt trong câu lệnh SQL LIKE bằng cách sử dụng các tham số sql

Bạn có hai lựa chọn:

  • gửi chúng vào [] . Vì vậy:

    where pattern like '[%]'
    

    Tìm ký tự phần trăm. Danh sách đầy đủ các ký tự cần thoát - '_', '%', '[', ']' với các thay thế tương ứng '[_]', '[%]', '[[]', '[]]' . Bạn có thể tìm thấy mã mẫu trong Thoát ký tự thoát không hoạt động - Toán tử SQL LIKE

  • sử dụng một ký tự thoát không có trong chuỗi, chẳng hạn như một backtick:

    where pattern like '`%' escape '`'
    

    (Xem cú pháp trên MSDN - LIKE (Giao dịch-SQL) .)

Trong cả hai trường hợp, tôi khuyên bạn nên thực hiện thay thế trong lớp ứng dụng, nhưng bạn cũng có thể thực hiện trong SQL nếu bạn thực sự muốn:

where pattern like replace(@pattern, '%', '[%]')

Và, cấp cho người dùng cuối quyền truy cập vào các ký tự đại diện có thể là một điều tốt về mặt giao diện người dùng.

Lưu ý:có thêm vài ký tự đặc biệt '-''^' trong truy vấn LIKE, nhưng chúng không cần phải được thoát nếu bạn đã thoát '['']' .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TFDQuery.Prepare không thể xác định kiểu tham số cho truy vấn CHÈN trên MS SQL SERVER

  2. Cách hiển thị hai chữ số sau dấu thập phân trong SQL Server

  3. PIVOT với kiểu dữ liệu varchar

  4. Danh sách chuỗi trong SqlCommand thông qua các tham số trong C #

  5. Mã xác thực SQL Scripts