3

我需要删除或替换一个不需要(%)的字符,它位于字符串的末尾,然后将字符串转换为小数,因为我需要得到2 个名为和的字段的总和discount1discount2

我尝试的最后一个组合是:

replace ((p16.pa_value,'%','')CAST (p16.pa_value AS DECIMAL (3,0))) as discount2,

这似乎是超级错误的,因为CASTreplace声明中

4

2 回答 2

6

试试这个:

CAST (replace (p16.pa_value,'%','') AS DECIMAL (3,0)) as discount2
于 2012-11-12T08:14:06.567 回答
1

好的,我不知道为什么小数点后有三位:DECIMAL (3,0)因为如果转换为十进制,它应该是:十进制(10;后面有多少个零,)-更多信息在这里

试试这个:

(cast(replace(p16.pa_value, '%','')  as decimal (10,2))) as discount
于 2012-11-12T12:43:32.057 回答