有一个表a,现在我想将a表中的ades列中字符串只截取数值部分,然后再插入到b表,看表结构:--创建a表
CREATE TABLE `a` (
  `aid` int(11) DEFAULT NULL,
  `ades` varchar(50) DEFAULT NULL
);
--创建b表
CREATE TABLE `b` (
  `bid` int(11) DEFAULT NULL,
  `bdes` decimal(20,8) DEFAULT NULL
);
--插入数据
INSERT INTO a VALUES(1,'0.5元/手');
INSERT INTO a VALUES(2,'52.666元/手');
INSERT INTO a VALUES(1,'100.2元/手');
INSERT INTO a VALUES(1,'5元/手');
INSERT INTO a VALUES(1,'3元/手');
INSERT INTO a VALUES(1,'88.9元/手');
mysql> select * from a;
+------+-------------+
| aid  | ades        |
+------+-------------+
|    1 | 0.5元/手    |
|    2 | 52.666元/手 |
|    1 | 100.2元/手  |
|    1 | 5元/手      |
|    1 | 3元/手      |
|    1 | 88.9元/手   |
+------+-------------+例如:0.5元/收只保留0.5,52.666元/手只保留52.666。
想显示成下面的形式:+------+-------------+
| aid  | ades        |
+------+-------------+
|    1 | 0.5         |
|    2 | 52.666      |
|    1 | 100.2       |
|    1 | 5           |
|    1 | 3           |
|    1 | 88.9        |
+------+-------------+
然后再复制到b表中,这个语句应该怎么写呢?

解决方案 »

  1.   

    insert into b
    select aid,SUBSTRING_INDEX(ades,'元',1) from a;
      

  2.   

    那假如a表中是mysql> select * from a;
    +------+-------------+
    | aid  | ades        |
    +------+-------------+
    |    1 | 0.5元/手    |
    |    2 | 52.666公斤/手 |
    |    1 | 100.2顿/手  |
    |    1 | 5美金/手      |
    |    1 | 3公斤/批      |
    |    1 | 88.9克/批   |
    +------+-------------+
    那该怎么截取呢?
      

  3.   

    select aid,ades+0 from a;