将 Substring 转换为数字以执行乘法

Convert Substring to numeric to perform multiplication

在编译这行时遇到一些困难。

我有一个字段,比方说 AUD 1200.50,我需要将该值乘以 0.019,但由于 AUD 的缘故不能这样做。

我最好的猜测是使用子字符串删除领先的货币格式,然后执行乘法运算,但我还需要先将其转换为数字,这就是我卡住的地方。

我尝试了几种不同版本的转换和转换,但我当前的版本看起来像这样

SELECT convert(decimal,substring('AUD 1,200.50',4,10)) * 0.019

最终,此处的 AUD 文本值将替换为来自 SAP B1 的动态语法字段,这将提供相同的结果,因此它看起来像这样。一直给我关于将 varchar 转换为数字的错误。

SELECT convert(decimal,substring($[.0.0],4,10)) * 0.019

我确定我很接近,但只是有点想念它。一如既往地感谢您的帮助。

看起来逗号可能会破坏 decimal 转换。在将其转换为 decimal.

之前尝试删除所有逗号
CONVERT(decimal, REPLACE(SUBSTRING('AUD 1,200.50', 4, 10), ',', ''))