sql >> Databáze >  >> RDS >> Sqlserver

Problém s více LIKE serveru SQL Server 2008

Začněte s obecným příkladem a pak to zesměšním nějakým „odborem všech“

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

Takže to, co jsem udělal níže, je, že jsem zesměšnil některá data, která jsou „záznamy, stejně jako falešný návrat z funkce dbo.Split, v podstatě tabulka varcharů s 'zásobníkem' a 'přetečením' tokenizovaným na ' ' .

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

Výsledky:

stack
stackoverflow

Na funkci dbo.Split není nic zvláštního a existuje spousta příkladů implementace...



  1. Vyberte nejvyšší 3 skóre v každém dni pro každého uživatele

  2. Kroky k instalaci MySQL8 na CentOS

  3. Problém se Sqlalchemy a vkládáním pole jsonb do postgresql

  4. Naformátujte datum MySQL v PHP