Поиск по сайту:

Как вырезать часть строки с помощью запроса MySQL?


Для этого используйте функцию substring_index() из MySQL. Сначала создадим таблицу:

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)

Статьи по данной тематике: