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

MySQLで2文字目に空白(スペース)を含むレコードを検索する方法

MySQLで2文字目に空白を含むレコードを抽出するには

MySQLで「列の2文字目が空白(スペース)である」ような特定のレコードを検索したい場合は、SUBSTR()関数を使用します。SUBSTR()は文字列の一部を切り出す関数で、開始位置と抽出する文字数を指定できるため、特定の位置の文字だけを簡単にチェックできます。

基本構文

select * from テーブル名
where substr(カラム名, 2, 1) = ' ';

この構文では、substr()の第2引数に開始位置「2」、第3引数に抽出文字数「1」を指定することで、対象カラムの2文字目だけを取り出し、それが空白「' '」と一致するかどうかを判定しています。

サンプルテーブルの作成

まず、動作を確認するためのテーブルを作成しましょう。

mysql> create table DemoTable1365
    -> (
    -> Value varchar(20)
    -> );
Query OK, 0 rows affected (0.66 sec)

テストデータの挿入

insertコマンドを使って、いくつかのレコードを挿入します。ここでは、空白を含まないデータと、2文字目に空白を含むデータを混ぜて登録しています。

mysql> insert into DemoTable1365 values('9756757474');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1365 values('3 45322333');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1365 values('8974646363');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1365 values('9 566363622');
Query OK, 1 row affected (0.17 sec)

登録済みレコードの確認

select文ですべてのレコードを表示してみましょう。

mysql> select * from DemoTable1365;

実行結果は以下の通りです。

+-------------+
| Value       |
+-------------+
| 9756757474  |
| 3 45322333  |
| 8974646363  |
| 9 566363622 |
+-------------+
4 rows in set (0.00 sec)

2文字目に空白を含むレコードの検索クエリ

それでは、「3 4532」のように2文字目にのみ空白が含まれるレコードを検索するクエリを実行します。

mysql> select * from DemoTable1365
    -> where substr(Value, 2, 1) = ' ';

実行結果は以下の通りです。

+-------------+
| Value       |
+-------------+
| 3 45322333  |
| 9 566363622 |
+-------------+
2 rows in set (0.00 sec)

補足:LIKE演算子を使った方法

SUBSTR()以外にも、LIKE演算子とワイルドカードを組み合わせることで同様の検索が可能です。「_」は任意の1文字にマッチするため、次のように記述できます。

mysql> select * from DemoTable1365
    -> where Value like '_ %';

どちらの方法でも同じ結果が得られますが、位置を数値で明示的に指定したい場合はSUBSTR()を使う方法がわかりやすくおすすめです。

  1. MySQLで特定のセルの内容を更新する方法

    MySQLでは、UPDATE文とWHERE句を組み合わせることで、テーブル内の特定のセル(行の特定のカラム)の内容を簡単に更新できます。この記事では、実際のコード例を通じて、その手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、デモ用のテーブルを作成しましょう。 mysql> create table DemoTable2029     -> (     -> Id int,     -> FirstName varchar(2

  2. MySQLで列の最大値を取得する方法をわかりやすく解説

    MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(