首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将“预格式化”值转换为浮点数

如何将“预格式化”值转换为浮点数
EN

Stack Overflow用户
提问于 2013-11-26 10:50:26
回答 1查看 99关注 0票数 0

我有一个带有预先格式化的值的my视图(MY_VIEW)。

格式(myValue,2,'DE_de')作为值

所以,我有一些值,比如: 123,18 . 10.020,98等等。

但是,当我使用SUM (值)执行另一个基于MY_VIEW的查询时,它返回错误的值,因为我认为它不能对格式化的值进行求和。

因此,我需要将值重新转换为浮点数,但使用强制转换,但它不起作用:

总金额(价值为十元(10,2 ))

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 10:57:24

我希望这能帮到你。

1.调用替换()2次

代码语言:javascript
复制
mysql> SELECT CAST(REPLACE(REPLACE('1.123,45', ",", ""), ".", "") AS DECIMAL(10, 2)) AS converted;
+-----------+
| converted |
+-----------+
| 112345.00 |
+-----------+

2.使用UDF(用户定义函数)

根据How to do a regular expression replace in MySQL?的说法,你可以用PREG_REPLACE()代替“、”或“。”在https://github.com/hholzgra/mysql-udf-regexp安装到MySQL服务器后立即使用正则表达式"“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20214977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档