要将float值分成两列,第一列将有一个十进制前的值。第二列将在小数点后有一个值。为此,您可以将SUBSTRING_INDEX()与一起使用CAST()。让我们首先创建一个表-mysql> create table DemoTable1951
(
Value1 varchar(20)
);
使用插入命令在表中插入一些记录-mysql> insert into DemoTable1951 values('100.50');
mysql> insert into DemoTable1951 values('70.90');
mysql> insert into DemoTable1951 values('1000.55');
使用select语句显示表中的所有记录-mysql> select * from DemoTable1951;
这将产生以下输出-+---------+
| Value1 |
+---------+
| 100.50 |
| 70.90 |
| 1000.55 |
+---------+
3 rows in set (0.00 sec)
这是将float值分为两列的查询:mysql> select cast(substring_index(Value1, '.', 1) as unsigned) as FirstValue,
cast(substring_index(Value1, '.', -1) as unsigned) as SecondValue
from DemoTable1951;
这将产生以下输出-+------------+-------------+
| FirstValue | SecondValue |
+------------+-------------+
| 100 | 50 |
| 70 | 90 |
| 1000 | 55 |
+------------+-------------+
3 rows in set (0.00 sec)