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

Cách tìm kiếm nhiều chuỗi hoặc ký tự trong một trường trong sql

Nếu bạn có multiple patterns để tìm kiếm thì tốt hơn hết là tạo derived table hoặc temporary table để lưu trữ các mẫu patterns

DECLARE @patterns TABLE  (
pattern VARCHAR(20)
);

INSERT INTO @patterns VALUES ('%$%'), ('%[%]%'), ('%ac cd%');

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern);

Nếu bạn có nhiều cột để so sánh, chỉ cần thêm biểu thức trong ON mệnh đề

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern)
OR (a.Column2 like p.pattern);

Đã cập nhật:Sử dụng Chế độ xem

CREATE VIEW PatternSearch
AS
 WITH Patterns (Patterns)
  AS
  (
     Select  '%Tool%'
     union all
     Select '%Sale%'
     union all
     Select  '%ac cd%'
  )
   SELECT a.* FROM table_name a JOIN Patterns p ON (a.Description LIKE p.pattern)

GO

Chưa được kiểm tra nhưng bạn có thể làm như thế này

Nguồn




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giá trị SQL Server 2008 GEOGRAPHY STDistance ()

  2. Có một plugin SVN cho SQL Server Management Studio 2005 hoặc 2008 không?

  3. Di chuyển bảng máy chủ SQL sang nhóm tệp khác nhau

  4. Gán kết quả của sql động cho biến

  5. Làm thế nào để khôi phục cơ sở dữ liệu bị hỏng SQL Server?