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

ハイフンで囲まれたMySQLの列値の中央部分を抽出し、新しい列に表示しますか?


SUBSTR()メソッドを使用して、ハイフンで囲まれた列値の中央部分を抽出します(例:「11-84848-11」)。

まずテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> Number varchar(100),
-> Number1 varchar(100)
-> );
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(Number) values('11-84848-11');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable(Number) values('22-99999-22');
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+-------------+---------+
| Number      | Number1 |
+-------------+---------+
| 11-84848-11 | NULL    |
| 22-99999-22 | NULL    |
+-------------+---------+
2 rows in set (0.00 sec)

以下は、MySQLの列値の中央部分を抽出するためのクエリです-

mysql> update DemoTable
-> set Number1=SUBSTR(Number,4,5);
Query OK, 2 rows affected (0.19 sec)
Rows matched: 2 Changed: 2 Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+-------------+---------+
| Number      | Number1 |
+-------------+---------+
| 11-84848-11 | 84848   |
| 22-99999-22 | 99999   |
+-------------+---------+
2 rows in set (0.00 sec)

  1. 45日の間隔で日を追加し、出力を新しい列に表示するMySQLクエリ

    これには、date_add()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1930    (    DueTime datetime    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1930 values('2017-10-21'); Query OK, 1 row affected

  2. MySQLのnull値に基づいて新しい列にカスタムテキストを表示しますか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1953    (    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1953 values('Chris'); Query OK, 1 row affected (0.00 sec) mysql>