0

I want to search a text in a table without knowing its attributes. Example : I have a table Customer,and i want to search a record which contains 'mohit' in any field without knowing its column name.

4

3 回答 3

0

Mohit,我很高兴你自己设计了解决方案。

无论如何,每当您再次面对未知的表或数据库时,我认为我刚刚发布的代码片段将非常受欢迎。

啊,还有一件事:给出的答案并没有解决您的问题,是吗?

于 2012-09-23T23:43:55.417 回答
0

您正在寻找全文索引

使用示例Contains

select ColumnName from TableName 
Where Contains(Col1,'mohit') OR contains(col2,'mohit')

注意 -您可以使用从 sys.Columns 查询计算的列名将上述自由文本查询转换为动态查询

还要检查下面

FIX:跨列包含子句搜索的全文搜索查询

您还可以从以下查询中检查所有列名

Select Name From sys.Columns Where Object_Id = 
                   (Select Object_Id from sys.Tables Where Name = 'TableName')

Double-WildCard LIKE 语句不会加快查询速度。

于 2012-06-24T07:02:52.597 回答
0

如果您想对表格进行全面搜索,您肯定知道表格的结构。考虑到表有字段idnameageaddress,那么您的 SQL 查询应该是这样的:

SELECT * FROM `Customer`
    WHERE `id` LIKE '%mohit%'
    OR `name` LIKE '%mohit%'
    OR `age` LIKE '%mohit%'
    OR `address` LIKE '%mohit%';
于 2012-06-24T06:37:07.820 回答