Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 Multiple-LIKE-Problem

Beginnen Sie mit dem allgemeinen Beispiel und dann werde ich es mit einigen "Union Alls" verspotten

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

Was ich also unten getan habe, ist, dass ich einige Daten verspottet habe, die die "Datensätze sind, sowie eine Scheinrückgabe von der dbo.Split-Funktion, im Grunde eine Tabelle von Varchars mit 'Stack' und 'Overflow', die auf ' ' tokenisiert sind.

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

Ergebnisse:

stack
stackoverflow

Die dbo.Split-Funktion ist nichts Besonderes und es gibt Unmengen von Implementierungsbeispielen da draußen...