要将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)