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

Linq to Entities (EF 4.1):Làm thế nào để thực hiện một SQL LIKE với ký tự đại diện ở giữa ('% term% term%')?

Tôi tin rằng bạn có thể sử dụng SqlFunctions. PatIndex :

dt.Table.Where(p => SqlFunctions.PatIndex(term, p.fieldname) > 0);

SqlFunctions.PatIndex hoạt động giống như NHƯ SQL nhà điều hành. Nó hỗ trợ tất cả các ký tự đại diện tiêu chuẩn bao gồm:

  • % Bất kỳ chuỗi nào không hoặc nhiều ký tự.
  • _ (gạch dưới) Bất kỳ ký tự đơn nào.
  • [] Bất kỳ ký tự đơn lẻ nào trong phạm vi được chỉ định ([a-f]) hoặc tập hợp ([abcdef]).
  • [^] Bất kỳ ký tự đơn lẻ nào không nằm trong phạm vi được chỉ định ([^ a-f]) hoặc tập hợp ([^ abcdef]).

SqlFunctions.PatIndex thường khả dụng khi SqlMethods.Like không khả dụng (kể cả trong bộ điều khiển MVC)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lập lịch chạy quy trình được lưu trữ trên máy chủ SQL

  2. T-sql, tích tắc, dấu thời gian

  3. Đếm các ngày trong tuần trong một tháng nhất định

  4. Cách tải dữ liệu từ SQL Server sang SAP BW bằng SSIS

  5. Các trường hợp sử dụng cho câu lệnh MERGE của máy chủ SQL:Đồng bộ hóa bảng lịch sử và trực tuyến