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

MySQLテーブルの列の値からサブストリングを抽出するにはどうすればよいですか?


SUBSTRING()、MID()、SUBSTR()などの関数を適用して、列の値から部分文字列を抽出できます。この場合、関数の最初の引数として列の名前を指定する必要があります。つまり、文字列の場所に列の名前を指定する必要があります。次の例でそれを示します。

「Student」テーブルの「Name」列からサブストリングを抽出するとします。これは、次のようにさまざまな関数を使用して実行できます-

mysql> Select name, SUBSTR(name,2,4) from student;
+---------+------------------+
| name    | SUBSTR(name,2,4) |
+---------+------------------+
| Gaurav  | aura             |
| Aarav   | arav             |
| Harshit | arsh             |
| Gaurav  | aura             |
| Yashraj | ashr             |
+---------+------------------+
5 rows in set (0.00 sec)

mysql> Select name, MID(name,2,4) from student;
+---------+---------------+
| name    | MID(name,2,4) |
+---------+---------------+
| Gaurav  | aura          |
| Aarav   | arav          |
| Harshit | arsh          |
| Gaurav  | aura          |
| Yashraj | ashr          |
+---------+---------------+
5 rows in set (0.00 sec)

mysql> Select name, substring(name,2,4) from student;
+---------+---------------------+
| name    | substring(name,2,4) |
+---------+---------------------+
| Gaurav  | aura                |
| Aarav   | arav                |
| Harshit | arsh                |
| Gaurav  | aura                |
| Yashraj | ashr                |
+---------+---------------------+
5 rows in set (0.00 sec)

上記のクエリに次のように条件を適用することもできます-

mysql> Select name, substring(name,2,4) from student WHERE address = 'delhi';
+---------+---------------------+
| name    | substring(name,2,4) |
+---------+---------------------+
| Gaurav  | aura                |
| Harshit | arsh                |
+---------+---------------------+
2 rows in set (0.16 sec)

mysql> Select name, MID(name,2,4) from student WHERE address = 'delhi';
+---------+---------------+
| name    | MID(name,2,4) |
+---------+---------------+
| Gaurav  | aura          |
| Harshit | arsh          |
+---------+---------------+
2 rows in set (0.00 sec)

mysql> Select name, SUBSTR(name,2,4) from student WHERE address = 'delhi';
+---------+------------------+
| name    | SUBSTR(name,2,4) |
+---------+------------------+
| Gaurav  | aura             |
| Harshit | arsh             |
+---------+------------------+
2 rows in set (0.00 sec)

  1. MySQLから列名とタイプを抽出する方法は?

    列名とタイプを抽出するには、INFORMATION_SCHEMA.COLUMNS-を使用します select concat(column_name,'=',data_type) as anyAliasName from information_schema.columns where table_schema= yourDatabaseName and table_name= yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1812      (   &nbs

  2. MySQLで列名として「from」を作成するにはどうすればよいですか?

    「from」は予約語であるため、バッククォート記号を使用して列名と見なします。ここで、予約語をバックティックで囲んだテーブルを作成します- mysql> create table DemoTable1810      (      `from` varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1810 v