sql >> Base de Datos >  >> RDS >> Sqlserver

¿Aplicar como sobre todas las columnas sin especificar todos los nombres de columna?

En general, no es posible de manera razonable (sin excavar en los metadatos de la base de datos ), pero si conoce los nombres de las columnas, puede usar un truco como este:

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

O

si busca palabras, use las capacidades de FTS, porque la consulta superior es un asesino del rendimiento