没有操作的CAST变量到FLOAT?

时间:2014-07-04 00:44:56

标签: sql sql-server sql-server-2008

是否有可能在没有计算的情况下投射变量?

像这样:

CAST(SUBSTRING(interestRate, PATINDEX('%[^0 ]%', interestRate + ' '), LEN(interestRate)) AS FLOAT Interest_Rate

因为我不断收到错误。但如果我的专栏是这样的:

((CAST(SUBSTRING(interestRate, PATINDEX('%[^0 ]%', interestRate + ' '), LEN(interestRate)) AS FLOAT) /100)/12) monthlyInterestRate

我没有收到任何错误。谁能解释一下?新手在这里。

1 个答案:

答案 0 :(得分:0)

尝试

((SUBSTRING(interestRate, PATINDEX('%[^0 ]%', interestRate + ' '), LEN(interestRate)) /100.0)/12.0) monthlyInterestRate

注意addin .0隐式转换为float操作。否则,所有整数都将截断小数