MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでRIGHT()関数を使って列の末尾の桁が特定の値と一致するレコードを検索する方法

MySQLで列の値の末尾(最後の桁)が特定の数字と一致するレコードを抽出したい場合は、RIGHT()関数を使用するのが便利です。RIGHT()関数は、文字列の右端から指定した文字数を取り出すことができるため、末尾の桁との比較に適しています。

サンプルテーブルの作成

まず、検索対象となるテーブルを作成しましょう。

mysql> create table DemoTable823(Value varchar(100));
Query OK, 0 rows affected (0.54 sec)

テストデータの挿入

次に、INSERTコマンドを使っていくつかのレコードをテーブルに追加します。

mysql> insert into DemoTable823 values('9847826');
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable823 values('84747464');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable823 values('9899889883');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable823 values('123456');
Query OK, 1 row affected (0.10 sec)

登録済みレコードの確認

SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable823;

上記のクエリを実行すると、次のような出力が得られます。

+------------+
| Value |
+------------+
| 9847826 |
| 84747464 |
| 9899889883 |
| 123456 |
+------------+
4 rows in set (0.00 sec)

末尾の桁が「6」のレコードを検索する

それでは本題です。末尾の桁が特定の値(ここでは「6」)と一致するレコードを検索するには、WHERE句の中でRIGHT()関数を使い、以下のようにクエリを記述します。

mysql> select *from DemoTable823 where right(Value,1)='6';

このクエリを実行すると、次の出力が得られます。

+---------+
| Value |
+---------+
| 9847826 |
| 123456 |
+---------+
2 rows in set (0.00 sec)

実行結果を見ると、「9847826」と「123456」のように、末尾が「6」で終わるレコードだけが正しく抽出されていることがわかります。

応用ポイント

RIGHT(Value, 1) の第2引数の数値を変更すれば、末尾の複数桁を対象にした検索も可能です。たとえば right(Value,2)='26' とすれば、末尾2桁が「26」のレコードを取得できます。また、数値型の列に対しては MOD() 関数や剰余演算子(%)を使う方法もありますが、文字列として保存されているデータであれば、RIGHT()関数が最もシンプルで直感的な選択肢となります。

  1. MySQLで特定のカラム名を持つテーブルを検索する方法

    MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a

  2. MySQLで一意の姓(ラストネーム)を持つユーザーをすべて検索する方法

    MySQLで、姓(ラストネーム)が重複していない、つまり一意の姓を持つユーザーをすべて抽出したい場合は、GROUP BY句とHAVING句にCOUNT()関数を組み合わせることで実現できます。この記事では、実際にテーブルを作成し、サンプルデータを登録したうえで、一意の姓を持つユーザーを検索するクエリを段階的に解説します。1. サンプルテーブルの作成まず、名前(firstName)と姓(lastName)を格納するテーブルを作成します。mysql> create table demo76 -> ( -> firstName varchar(20), -&