【发布时间】:2016-09-12 07:28:40
【问题描述】:
我有一个名为“Costdetails”的表。
有一个名为'cost'的列,它是一个VARCHAR列。它可以是任何东西,如下所示。
Cost ssss
20000 - $
Rs - 1000/-
10000 Rupees etc.
我想从这个 varchar 列中取出确切的数量(Ex: 1000、20000)。 在谷歌上试过这个,我得到了一个查询,然后我尝试了这个查询。
SELECT cost
FROM Costdetails
WHERE (cost REGEXP '^[0-9]' or cost REGEXP '[0-9]^' or cost REGEXP '[0-9]');
Output :
Rs-1000/-
10000 - $
$ 10000
此查询帮助我获取具有整数值的行。 但是想从列中删除多余的东西(输出:Like 1000,Not like Rs-1000/-)。
任何想法,提前谢谢!!!。
【问题讨论】:
-
我不认为 MySQL 具有开箱即用的正则表达式功能。能不能先用Notepad++之类的程序,再把数据导入MySQL?
-
我想为此编写脚本。它应该获取列并根据要求进行更改,并将数据放入其他表中。
-
我认为这个问题可能会有所帮助:stackoverflow.com/q/13027309/2869791
-
GIGO -- 在将数据放入数据库之前解析数据。