首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql中怎样截取字符串中数值解决思路

2012-04-01 
mysql中怎样截取字符串中数值有一个表a,现在我想将a表中的ades列中字符串只截取数值部分,然后再插入到b表,

mysql中怎样截取字符串中数值
有一个表a,现在我想将a表中的ades列中字符串只截取数值部分,然后再插入到b表,看表结构:

SQL code
--创建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表中,这个语句应该怎么写呢?


[解决办法]
试试substring_index(ades,'元',1)
[解决办法]
SQL code
insert into bselect aid,SUBSTRING_INDEX(ades,'元',1) from a;
[解决办法]
select aid,ades+0 from a;
[解决办法]
楼上正解~

热点排行