sql >> Database >  >> RDS >> Sqlserver

SQL server 2008 meervoudig LIKE-probleem

Begin met het generieke voorbeeld en dan zal ik het bespotten met wat "union alls"

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

Dus wat ik hieronder deed, is dat ik de spot dreef met enkele gegevens die de "records zijn, evenals een schijnretour van de dbo.Split-functie, in feite een tabel met varchars met 'stack' en 'overflow' tokenized on '' .

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

Resultaten:

stack
stackoverflow

Er is niets bijzonders aan de dbo.Split-functie en er zijn talloze implementatievoorbeelden...



  1. Hoe weet je wat een goede index is?

  2. Hoe kan ik een tabel in Oracle beschrijven zonder de opdracht DESCRIBE te gebruiken?

  3. Als GETDATE() op veel plaatsen wordt gebruikt, is het dan beter om een ​​variabele te gebruiken?

  4. Alle records van een jaar geleden tot nu selecteren