Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 problème LIKE multiple

Commencez par l'exemple générique, puis je le modéliserai avec quelques "union alls"

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

Donc, ce que j'ai fait ci-dessous, c'est que je me suis moqué de certaines données qui sont les "enregistrements, ainsi qu'un faux retour de la fonction dbo.Split, essentiellement une table de varchars avec 'stack' et 'overflow' tokenisés sur ' ' .

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

Résultats :

stack
stackoverflow

La fonction dbo.Split n'a rien de spécial et il existe des tonnes d'exemples d'implémentation...