プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

【SQL Server(連載)】SELECT文 (部分一致検索) -10-

www.pon-x.jp

前回の続き

今回は、WHERE句において、部分一致検索の方法を紹介したいと思います。

部分一致検索

WHERE句を使って、必要なレコードを抽出する方法はすでに紹介しました。

www.pon-x.jp

しかし、これはイコールをつかって、完全一致する条件でレコードを抽出する方法でした。
一方で、特定の文字列を含むといったり、ある文字から始まるといった条件でレコードを抽出したいといったことがよくあります。

今回は、そんなときに便利な方法を紹介します。

LIKE演算子

LIKE演算子を使うと、部分一致検索を可能にします。

では、Person.PersonPhoneテーブルにおいて、PhoneNumberに「かっこ」が入っているレコードを抽出してみましょう。

SELECT * 
FROM Person.PersonPhone
WHERE PhoneNumber LIKE '%(%'

結果は以下の通り。 f:id:hanabusa-snow:20201125090556p:plain

ここで、「%」をつかっているのがわかります。
「%」は、文字数関係なくなにかしらの文字列があるということを示します。
ですので、LIKE '%(%' というのは、「(」の前後に何かしら文字列があるレコード(なくてもよい)を抽出するのです。




では、次に先頭が「1」のレコードを抽出してみましょう。
LIKE '1%'としてあげます。
詳しくは以下の通り。

SELECT * 
FROM Person.PersonPhone
WHERE PhoneNumber LIKE '1%'

結果は以下の通り。
f:id:hanabusa-snow:20201125091003p:plain







いかがだったでしょうか。
便利なLIKE演算子をぜひご活用あれ!!