MySQL: выбрать число с плавающей точкой и перенести его в другой столбец

219
19 мая 2017, 14:54

Здравствуйте!

Есть таблица:

+-------+----------------------------+
|    id | name                       |
+-------+----------------------------+
|     1 | 2.0 CVT (147 л.с.)         |
|     2 | 2.4 CVT (147 л.с.)         |
|     3 | 2.3d MT (147 л.с.)         |
|     4 | 1.9 MT (147 л.с.)          |
|     5 | 2.2d CVT (156 л.с.)        |
+-------+----------------------------+

Необходимо из столбца name выбрать все числа с плавающей точкой и перенести в другой столбец. Т.е., чтобы получилось в данном случае:

+-------+----------------------------+----------+
|    id | name                       | new_name |
+-------+----------------------------+----------+
|     1 | 2.0 CVT (147 л.с.)         | 2.0      |
|     2 | 2.4 CVT (147 л.с.)         | 2.4      |
|     3 | 2.3d MT (147 л.с.)         | 2.3      |
|     4 | 1.9 MT (147 л.с.)          | 1.9      |
|     5 | 2.2d CVT (156 л.с.)        | 2.2      |
+-------+----------------------------+----------+

Подскажите, пожалуйста, как это сделать средствами MySQL?

Answer 1
SELECT id, name, 0 + name new_name
FROM table;

Единственное, что число 2.0. преобразуется просто 2 без точки с нулем.

SELECT id, name, FORMAT(0 + name, 1) new_name
FROM table;
READ ALSO
1071 Specified key was too long; max key length is 767 bytes

1071 Specified key was too long; max key length is 767 bytes

На локальном сервере возникает такая ошибка при попытке сменить кодировку и сопоставление таблицы на utf8mb4, а на удаленном - нетПричину ошибки...

290
Ошибка при импорте SQL DUMP

Ошибка при импорте SQL DUMP

Не могу заимпортить в вордпресс wp_posts

606
Поле name при создании внешнего ключа

Поле name при создании внешнего ключа

Не очень знаком с базами данных, впервые создаю БД на MySQLИспользую Navicat и её модуль "model" для моделирования бд через схемки

219