日期:2014-05-16  浏览次数:20817 次

MYSQL中关于字符串的截取
我的mysql版本是5.5.21,a1表中a2列是字符串形式,然后查询的时候我想把它全部转换成数字形式,例如:
SQL code

DROP TABLE IF EXISTS a1;
-- 创建a表
CREATE TABLE a1
(a1 INT NOT NULL AUTO_INCREMENT,
 a2 VARCHAR(50),
 CONSTRAINT PRIMARY KEY(a1)
 );
-- 插入a表数据
INSERT INTO a1 (a2) VALUES ('SB1203');
INSERT INTO a1 (a2) VALUES ('A2002');
INSERT INTO a1 (a2) VALUES ('Au(T+5)');
INSERT INTO a1 (a2) VALUES ('Ag99.9');
INSERT INTO a1 (a2) VALUES ('FS21104');
INSERT INTO a1 (a2) VALUES ('BRBW');

mysql> select * from a1;
+----+---------+
| a1 | a2      |
+----+---------+
|  1 | SB1203  |
|  2 | A2002   |
|  3 | Au(T+5) |
|  4 | Ag99.9  |
|  5 | FS21104 |
|  6 | BRBW    |
+----+---------+
6 rows in set (0.00 sec)


然后我想将a2列全部转换为数字,就是如下形式:
mysql> select * from a1;
+----+------+
| a1 | a2 |
+----+------+
| 1 | 1203 |
| 2 | 2002 |
| 3 | 0000 |
| 4 | 0000 |
| 5 | 1104 |
| 6 | 0000 |
+----+------+
6 rows in set (0.00 sec)
请问这个应该怎样实现??

------解决方案--------------------
| 3 | Au(T+5) | 为什么不是 5 而是 0000 ? 
| 4 | Ag99.9 | 为什么结果是 0000 ?

楼主需要先描述清楚逻辑。