加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:11:29 所属栏目:MsSql教程 来源:网络整理
导读:我发现自己处于一个不熟悉的数据库的位置,每个表都有大量的列.我有一个想法,我正在寻找什么数据,但我不知道它驻留在哪个列,需要使用像为了找到我需要的确切数据(并且必须重复这个任务多组数据). 有没有办法像笛卡尔选择一样申请? 以下应该解释一下我想要做的
我发现自己处于一个不熟悉的数据库的位置,每个表都有大量的列.我有一个想法,我正在寻找什么数据,但我不知道它驻留在哪个列,需要使用像为了找到我需要的确切数据(并且必须重复这个任务多组数据).

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

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

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功能,因为上层查询是一个性能杀手

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读