Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008 più LIKE problema

Inizia con l'esempio generico e poi lo prenderò in giro con alcuni "union alls"

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

Quindi quello che ho fatto di seguito è stato prendere in giro alcuni dati che sono i "record, oltre a un finto ritorno dalla funzione dbo.Split, fondamentalmente una tabella di varchars con 'stack' e 'overflow' tokenizzati su ' ' .

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

Risultati:

stack
stackoverflow

Non c'è niente di speciale nella funzione dbo.Split e ci sono tonnellate di esempi di implementazione là fuori...