Dividir o valor flutuante em duas colunas de uma tabela MySQL?
Para dividir o valor flutuante em duas colunas, a primeira coluna terá um valor antes do decimal. A segunda coluna terá um valor após decimal. Para isso, você pode usar SUBSTRING_INDEX() junto com CAST(). Vamos primeiro criar uma tabela:
mysql> create table DemoTable1951
(
Value1 varchar(20)
);
Query OK, 0 rows affected (0.00 sec)
Insira alguns registros na tabela usando o comando insert:
mysql> insert into DemoTable1951 values('100.50');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1951 values('70.90');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1951 values('1000.55');
Query OK, 1 row affected (0.00 sec)
Exiba todos os registros da tabela usando a instrução select:
mysql> select * from DemoTable1951;
Isso produzirá a seguinte saída:
+---------+
| Value1 |
+---------+
| 100.50 |
| 70.90 |
| 1000.55 |
+---------+
3 rows in set (0.00 sec)
Aqui está a consulta para dividir o valor flutuante em duas colunas:
mysql> select cast(substring_index(Value1, '.', 1) as unsigned) as FirstValue,
cast(substring_index(Value1, '.', -1) as unsigned) as SecondValue
from DemoTable1951;
Isso produzirá a seguinte saída:
+------------+-------------+
| FirstValue | SecondValue |
+------------+-------------+
| 100 | 50 |
| 70 | 90 |
| 1000 | 55 |
+------------+-------------+
3 rows in set (0.00 sec)