Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2008 wielokrotny problem LIKE

Zacznij od ogólnego przykładu, a potem wyśmieję go z kilkoma „związkami wszystkich”

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

Więc to, co zrobiłem poniżej, to wyśmiewanie niektórych danych, które są „rekordami, a także próbnym zwrotem z funkcji dbo.Split, w zasadzie tabelą varcharów z tokenami „stos” i „przepełnienie” na „”.

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 + '%'

Wyniki:

stack
stackoverflow

Nie ma nic szczególnego w funkcji dbo.Split i istnieje mnóstwo przykładów implementacji...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 6 funkcji do pobrania dnia, miesiąca i roku z daty w SQL Server

  2. Przycinanie T-SQL   (i inne znaki niealfanumeryczne)

  3. Problem z wyodrębnianiem daty w SQL Server

  4. Interfejsy sieciowe SQL, błąd:50 — wystąpił błąd w czasie wykonywania lokalnej bazy danych. Nie można utworzyć automatycznej instancji

  5. Zapytanie SQL nie używa dostępnego indeksu (SQL Server 2008)