我想在不知道其属性的情况下搜索表格中的文本。 示例:我有一个表Customer,我想在任何字段中搜索包含'mohit'的记录,而不知道其列名。
答案 0 :(得分:0)
如果你想在桌子上进行全面搜索,你一定要知道桌子的结构。考虑到该表包含字段id
,name
,age
和address
,那么您的SQL查询应该是:
SELECT * FROM `Customer`
WHERE `id` LIKE '%mohit%'
OR `name` LIKE '%mohit%'
OR `age` LIKE '%mohit%'
OR `address` LIKE '%mohit%';
答案 1 :(得分:0)
您正在寻找 Full Text Indexing
使用Contains
select ColumnName from TableName
Where Contains(Col1,'mohit') OR contains(col2,'mohit')
注意 - 您可以使用从sys.Columns查询计算的列名称将上述自由文本查询转换为动态查询
另请查看以下
<强> FIX: Full-Text Search Queries with CONTAINS Clause Search Across Columns 强>
您还可以查看以下查询中的所有列名称
Select Name From sys.Columns Where Object_Id =
(Select Object_Id from sys.Tables Where Name = 'TableName')
Double-WildCard LIKE语句不会加速查询。
答案 2 :(得分:0)