gpt4 book ai didi

sql - 对所有列应用类似操作而不指定所有列名称?

转载 作者:行者123 更新时间:2023-12-02 01:14:14 25 4
gpt4 key购买 nike

我发现自己正在使用一个不熟悉的数据库,每个表都有大量的列。我知道我正在寻找什么数据,但我不知道它位于哪一列,并且需要使用 like 才能找到我需要的确切数据(并且必须重复此任务适用于多组数据)。

有没有办法像笛卡尔选择一样应用?

以下内容应该解释我想要做得更好的事情(尽管它在语法上很荒谬):

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

编辑:

请注意,我不打算在任何报告中使用笛卡尔选择 - 其目的是帮助我识别需要放入查询中的相关列,并帮助我熟悉数据库.

最佳答案

通常 - 它不可能以合理的方式(不挖掘数据库元数据),但如果你知道列的名称,你可以使用这样的技巧:

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 功能,因为上面的查询是性能 killer

关于sql - 对所有列应用类似操作而不指定所有列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8815025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com