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

MySQLクエリで文字列の一部を切り取る方法は?


これには、MySQLのsubstring_index()関数を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> StudentId varchar(100)
   -> );
Query OK, 0 rows affected (0.60 sec)

挿入コマンド-

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

mysql> insert into DemoTable values('STU-95968686');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable;

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

+--------------+
| StudentId    |
+--------------+
| STU-1011     |
| STU-95968686 |
+--------------+
2 rows in set (0.00 sec)

以下は、MySQLでハイフン(-)-

の前に文字列の一部を切り取るクエリです。
mysql> select substring_index(substring(StudentId, instr(StudentId, "-")+1), " ", 1) from DemoTable;

これにより、ハイフン(-)

の前の文字列の一部を表示する次の出力が生成されます。
+------------------------------------------------------------------------+
| substring_index(substring(StudentId, instr(StudentId, "-")+1), " ", 1) |
+------------------------------------------------------------------------+
| 1011                                                                   |
| 95968686                                                               |
+------------------------------------------------------------------------+
2 rows in set (0.02 sec)

  1. ドットの前の文字列の一部を置き換えるMySQLクエリ

    このためには、SUBSTRING_INDEX()と一緒にCONCAT()を使用します。まず、-を作成しましょう mysql> create table DemoTable1424    -> (    -> Value varchar(60)    -> ); Query OK, 0 rows affected (0.56 sec) insert-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1424 values('567.784

  2. MySQLでコンマ区切りの文字列(数字を含む文字列)を合計するにはどうすればよいですか?

    MySQLでコンマ区切りの文字列を合計するカスタム関数を作成できます。まず、テーブルを作成しましょう。ここに、varchar列があり、文字列の形式で数値を追加します- mysql> create table DemoTable    -> (    -> ListOfValues varchar(50)    -> ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into De