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...