sql – 像所有列一样应用,而不指定所有列名称?

前端之家收集整理的这篇文章主要介绍了sql – 像所有列一样应用,而不指定所有列名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现自己处于一个不熟悉的数据库的位置,每个表都有大量的列.我有一个想法,我正在寻找什么数据,但我不知道它驻留在哪个列,需要使用像为了找到我需要的确切数据(并且必须重复这个任务多组数据).

有没有办法像笛卡尔选择一样申请?

以下应该解释一下我想要做的更好一点(即使这在句法上是荒谬的):

select 
    *
from    
    a_table
where   
    * like '%x%'

编辑:

请注意,我不打算在任何报告中使用购物车选择 – 这里的目的是帮助我识别我需要放入查询中的相关列,并帮助我熟悉数据库.

解决方法

通常 – 它不可能以合理的方式(不挖掘DB元数据),但是如果你知道列的名称,你可以使用这样的技巧:
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%'

要么

如果您搜索字词 – 使用FTS功能,因为上层查询是一个性能杀手

猜你在找的MsSQL相关文章