在 mySQL 数据库上,数据集中的所有值都存储为 varchar,显示欧元金额,如下所示:“EUR 2.5E+2”、“EUR 56.95”、“EUR 1E+2”
现在,我想让它再次有用并将其转换为十进制以进一步计算,但不知道该怎么做。
我尝试遵循此问题的建议解决方案: Casting Scientific Notation (from varchar -> numeric) in a view
但是,我未能将解决方案复制为查询、 View 或存储过程,更不用说使其适应我的问题了。
我真的希望有人能帮助我。 提前致谢!
最佳答案
非常感谢 Rick James,您的解决方案非常有效。 但是,我更喜欢将子字符串显式转换为十进制:
CAST(SUBSTRING_INDEX(p.amount, ' ', -1) AS DECIMAL(5,2))
现在我可以对结果进行计算(请参阅 Rick 的答案下面的评论)。
关于mysql - 在mysql中将科学记数法从Varchar转换为Decimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615052/