我有一个带有预先格式化的值的my视图(MY_VIEW)。
格式(myValue,2,'DE_de')作为值
所以,我有一些值,比如: 123,18 . 10.020,98等等。
但是,当我使用SUM (值)执行另一个基于MY_VIEW的查询时,它返回错误的值,因为我认为它不能对格式化的值进行求和。
因此,我需要将值重新转换为浮点数,但使用强制转换,但它不起作用:
总金额(价值为十元(10,2 ))
发布于 2013-11-26 10:57:24
我希望这能帮到你。
1.调用替换()2次
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服务器后立即使用正则表达式"“
https://stackoverflow.com/questions/20214977
复制相似问题