如何将一个 MySQL 表中的浮点值分割到两列?


要将浮点值分割到两列,第一列将有小数点前的值。第二列将有小数点后的值。为此,你可以将 SUBSTRING_INDEX() 与 CAST() 结合使用。我们先创建一个表 -

mysql> create table DemoTable1951
   (
   Value1 varchar(20)
   );
Query OK, 0 rows affected (0.00 sec)

使用插入命令在表中插入一些记录 -

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)

使用选择语句从表中显示所有记录 -

mysql> select * from DemoTable1951;

这将生成以下输出 -

+---------+
| Value1  |
+---------+
| 100.50  |
| 70.90   |
| 1000.55 |
+---------+
3 rows in set (0.00 sec)

下面是将浮点值分割到两列的查询

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)

更新于: 2019 年 12 月 31 日

676 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始吧
广告
© . All rights reserved.