# "like"演算子

like演算子を使えば、特定の値が特定のパターンにマッチングするかどうかをチェックできます。not演算子と併用することで、特定の値が特定のパターンにマッチングしないかどうかのチェックも可能です。式の構成は次のとおりです。

```
value like pattern
```

パターンでは次のワイルドカードを使用できます。

| 記号 | 説明 | 例 |
| --- | --- | --- |
| % | 0文字以上の文字にマッチングします。 | パターン: "bl%"<br><br><ul> <li>マッチングする: <span>"black"</span>、<span>"blue"</span></li> <li>マッチングしない: <span>"able"</span></li> </ul> |
| \_ | 1文字にマッチングします。 | パターン: "h\_t"<br><br><ul> <li>マッチングする: <span>"hit"</span>, <span>"hat"</span></li> <li>マッチングしない: <span>"heat"</span></li> </ul> |
| [] | 括弧の中にある単独文字にマッチングします。 | パターン: "b[ae]t"<br><br><ul> <li>マッチングする: <span>"bat"</span>, <span>"bet"</span></li> <li>マッチングしない: <span>"beat"</span></li> </ul> |
| [start-end] | 指定された範囲内にある任意の単独文字にマッチングします。 | パターン: "[b-d]at"<br><br><ul> <li>マッチングする: <span>"bat"</span>, <span>"cat"</span>, <span>"dat"</span></li> <li>マッチングしない: <span>"data"</span></li> </ul> |
| [^characters] | 括弧の中にない文字にマッチングします。 | パターン: "h[^oa]t"<br><br><ul> <li>マッチングする: <span>"hit"</span>, <span>"hut"</span></li> <li>マッチングしない: <span>"hot"</span>、<span>"hat"</span></li> </ul> |

## 例

| 句 | 結果 |
| --- | --- |
| ```<br>WHERE name LIKE "a%"<br>``` | nameの値がaで始まるいずれかのエレメントを返します。 |
| ```<br>WHERE name LIKE "%a"<br>``` | nameの値がaで終わるいずれかのエレメントを返します。 |
| ```<br>WHERE name LIKE "%bir%"<br>``` | nameの値にbirが含まれているいずれかのエレメントを返します。 |
| ```<br>WHERE name LIKE "_r%"<br>``` | nameの値の2文字目がrであるいずれかのエレメントを返します。 |
| ```<br>WHERE name LIKE "a__%"<br>``` | nameの値がaで始まり、その後に2文字以上続くいずれかのエレメントを返します。 |
| ```<br>WHERE name LIKE "a%o"<br>``` | nameの値がaで始まり、oで終わるいずれかのエレメントを返します。 |
| ```<br>WHERE name NOT LIKE "%[A-Z]"<br>``` | nameの値が大文字で終わらないいずれかのエレメントを返します。 |
| ```<br>WHERE name NOT LIKE "%[^0-9]%"<br>``` | nameの値が数字のみであるいずれかのエレメントを返します。 |