sql >> Databasteknik >  >> RDS >> Sqlserver

Vill du använda gilla över alla kolumner utan att ange alla kolumnnamn?

I allmänhet - det är inte möjligt på ett rimligt sätt (utan att gräva i DB-metadata ), men om du kan namnen på kolumner kan du använda ett trick som detta:

select 
    YourTable.*
FROM YourTable
JOIN
( 
    select 
      id, 
      ISNULL(column1,'')+ISNULL(Column2,'')+...+ISNULL(ColumnN,'') concatenated
      FROM YourTable
) T ON T.Id = YourTable.Id
where   t.concatenated like '%x%'

ELLER

om du söker efter ord - använd FTS-funktionerna, eftersom den övre frågan är en prestandamördare



  1. Ändra Excel-datumnummer till Oracle-datum

  2. PHP INFOGA ett variabelt antal poster till mysql från ett html-formulär

  3. Hur kan du hitta raderna med lika stora kolumner?

  4. Kan det finnas två relationer mellan två tabeller?