SQL ステートメントを使用してクエリを作成するときに SELECT ステートメントが使用されることはわかっています。その基本構造は次のとおりです:
SELECT ... ... FROM ... ... WHERE ... ... ORDER BY ... ...
WHERE 条件句を使用する場合、次のことができることがわかります。 LIKE キーを渡す これを実現するためにワイルドカードを使用できることもわかっています。私たちが通常知っているワイルドカード文字は、underscore_ とパーセント記号 % です。実際には、他にもクエリ マッチングが利用可能ですが、それらは頻繁には使用されず、無視されます。無視したのは、特定の範囲 [] との一致と、特定の範囲外の [^] の一致です。
Microsoft SQL Server で定義されているワイルドカード文字を見てみましょう:
ワイルドカードの説明
_ (アンダースコア) は任意の 1 文字に一致します
% は 1 つ以上の文字を含む文字列に一致します
[ ] は特定の範囲に一致します (例: 、[a-f])、または特定のセット内の単一文字の一致 ([abcdef] など)。
[^] は、特定の範囲 ([^a-f] など) または特定のセット ([^abcdef] など) の外にある任意の 1 文字と一致します。
以下に、これらのワイルドカードの使用法を示すいくつかの例をリストします。
•
WHERE FirstName LIKE '_im' は、im で終わるすべての 3 文字の名前を検索します (例: Jim、Tim)。
•
WHERE LastName LIKE '%stein' 姓が stein で終わるすべての従業員を検索します。
•
WHERE LastName LIKE '%stein%' は、姓に stein が含まれるすべての従業員をどこでも検索できます。
•
WHERE FirstName LIKE '[JT]im' im で終わり、J または T で始まる 3 文字の名前を見つけることができます (つまり、Jim と Tim のみ)
•
WHERE LastName LIKE 'm[ ^ c]%' は、m で始まり c 以外の (2 番目の) 文字で終わるすべての姓を検索できます。