MySQLで式に含まれないパターンをチェックする方法(NOT RLIKE演算子の使い方)
MySQLでは、NOT RLIKE 演算子を使うことで、式の中に特定のパターンが存在しないことをチェックできます。正規表現によるパターンマッチングの結果を反転させたい場合に便利な演算子です。
NOT RLIKEの構文
NOT RLIKE Pat_not_for_match
ここで Pat_not_for_match は、式とマッチさせたくないパターンを指します。つまり、このパターンに一致しない行だけが検索結果として返されます。
使用例
以下の例では、'student' テーブルから、名前が「H」で始まらないレコードを抽出しています。
mysql> Select Id, Name from Student WHERE Name NOT RLIKE '^H'; +------+---------+ | Id | Name | +------+---------+ | 1 | Gaurav | | 2 | Aarav | | 20 | Gaurav | | 21 | Yashraj | +------+---------+ 4 rows in set (0.00 sec)
上記のクエリは、'student' テーブルから「H」で始まるパターンを持たない名前を検索しています。
ここで使われている ^ は、NOT RLIKE と組み合わせて使用されるワイルドカード(正規表現のメタ文字)で、文字列の先頭を意味します。つまり '^H' は「Hで始まる」という条件を表し、NOT RLIKE によってその条件を満たさない行が選択されます。
補足:NOT RLIKEと関連演算子
- RLIKE:正規表現パターンに一致する行を返します(REGEXP と同義)。
- NOT RLIKE:正規表現パターンに一致しない行を返します。
- NOT REGEXP:NOT RLIKE と同じ動作をする別名です。
このように、NOT RLIKE を活用すれば、除外したいパターンを正規表現で柔軟に指定でき、データの絞り込みやクレンジング処理などに役立ちます。
-
MySQLで現在選択中のデータベースを確認する方法|DATABASE()関数とstatusコマンドの使い方
MySQLに接続している際、「今どのデータベースを選択しているのか」を確認したい場面はよくあります。この記事では、DATABASE()関数やstatusコマンドを使って、現在選択中のデータベース名を簡単に確認する方法を解説します。 DATABASE()関数で選択中のデータベースを確認する MySQLでは、DUALテーブルに対してDATABASE()関数を実行することで、現在選択されているデータベース名を取得できます。 手順1:データベースを選択する まず、例として「business」というデータベースを選択してみましょう。以下のコマンドを実行します。 mysql> use busi
-
MySQLのバージョンを確認する方法をわかりやすく解説
この記事では、現在利用しているMySQLサーバーのバージョンを確認する方法について詳しく解説します。コンソールでクエリを実行する前に、まずクライアントがサーバーに正しく接続されていることを確認しておきましょう。接続が確立されていないと、クエリを実行しても結果を取得できません。MySQLのバージョンを確認する基本クエリ以下のクエリを実行すると、使用中のサーバーのバージョン番号と、実行時点の日付を同時に取得できます。mysql> SELECT VERSION(), CURRENT_DATE;ポイント: 関数「VERSION()」や「CURRENT_DATE」は大文字・小文字を区別しません。つ