属性を知らずにテーブル内のテキストを検索したい。例:テーブルCustomerがあり、列名を知らなくても、任意のフィールドに「mohit」を含むレコードを検索したいと思います。
3 に答える
0
テーブルを完全に検索したい場合は、テーブルの構造を確実に知っている必要があります。テーブルにフィールド、、、、およびがあることを考えるid
と、name
SQLクエリは次のようになります。age
address
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 に答える
0
フルテキストインデックスを探しています
を使用した例Contains
select ColumnName from TableName
Where Contains(Col1,'mohit') OR contains(col2,'mohit')
注-sys.Columnsクエリから計算された列名を使用して、上記のフリーテキストクエリを動的クエリに変換できます。
以下も確認してください
修正:列全体でのCONTAINS句検索を使用した全文検索クエリ
また、以下のクエリからすべての列名を確認できます
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
Mohit、あなたが自分で解決策を考案してくれてうれしいです。
とにかく、未知のテーブルやデータベースに再び直面するときはいつでも、ここに投稿したコードスニペットは大歓迎だと思います。
ああ、もう1つ、与えられた答えはあなたの問題に対処していませんでしたね?
于 2012-09-23T23:43:55.417 に答える