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

SQL server 2008 vấn đề nhiều LIKE

Bắt đầu với ví dụ chung và sau đó tôi sẽ mô phỏng nó với một số "liên minh tất cả"

   select distinct Record from dbo.Records
     inner join dbo.Split('stack overflow', ' ') tokens 
       on records_table.Record like '%' + tokens.value + '%'

Vì vậy, những gì tôi đã làm dưới đây là tôi đã chế nhạo một số dữ liệu là "bản ghi, cũng như một mô hình trả về từ hàm dbo.Split, về cơ bản là một bảng các véc-ni có mã hóa 'ngăn xếp' và 'tràn' trên ''.

select distinct Name from (
 select 'stack' as Name
 union all
 select 'nope' as Name
 union all
 select ' stackoverflow' as Name
   ) records_table 
   inner join (
   select 'stack' as value
     union all
    select 'overflow' as value) tokens 
    on records_table.Name like '%' + tokens.value + '%'

Kết quả:

stack
stackoverflow

Không có gì đặc biệt về hàm dbo.Split và có rất nhiều ví dụ triển khai ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn các hàng trên cùng cho đến khi giá trị trong cột cụ thể xuất hiện hai lần

  2. CS2001 Thiếu AssemblyAttributes.cs khi thực thi gói SSIS được triển khai tới máy chủ

  3. Sự khác biệt giữa sys.columns, sys.system_columns và sys.all_columns trong SQL Server

  4. Chuyển loại giá trị bảng tới thủ tục được lưu trữ trên SQL Server thông qua Entity Framework

  5. Làm thế nào để tìm tổng của nhiều cột trong một bảng trong SQL Server 2005?