3

この「TomHardy」のようなデータを含む列があり、次のようにこの列を検索するための新しいクエリを追加します。

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (Name = @Name)

「TomHardy」のようにフルネームを入力すると機能しますが、「Tom」または「Hardy」だけを検索して結果を検索したいと思います。

私も試しました:

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (Name IN (@Name))

どちらも機能しません。

Visual Studio 2010をC#とSQLデータベースに接続して使用する。

助けてください、ありがとう!

4

2 に答える 2

1

パラメータにワイルドカードを追加する必要があります

WHERE Name LIKE '%' + @Name + '%'

それで

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Ahrcive
WHERE        (Name COLLATE UTF8_GENERAL_CI like '%' + @Name + '%')

'in'キーワードを使用してこれを行うことはできないと思います

于 2012-11-27T12:04:56.357 に答える
1

デイブは正しいですが、小文字/大文字のescenariosもチェックしたい場合を除いて、おそらくそれが良い結果を受け取っていない理由です

お気に入り :

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (LOWER(Name) like '%' + LOWER(@Name) + '%')

このステートメントは両方の値を小文字に変換し、比較は再び有効になります

于 2012-11-27T12:40:12.003 に答える