从数据库中添加和减去浮点值

时间:2017-03-06 04:54:09

标签: sql coldfusion coldfusion-11 cfquery

所以我有这个查询来从我的数据库表中获取包含inout列的结果。

<cfquery name="getInfo" datasource="testing">
    select in, out from test
</cfquery>

现在我需要做的是采取一个静态数字,例如; 100,并添加in并从该静态数字中减去out

所以这就是我的尝试:

<cfquery name="getInfo" datasource="testing">
    select in, out from test
</cfquery>

<table>
    <cfset balance = 100>
    <cfloop query="getInfo">

    <cfset balance = balance + in - out> <!--- THIS IS WHAT I TRIED --->

    <tr>

        <td>#in#</td>
        <td>#out#</td>
        <td>#balance#</td>

    </tr>
    </cfloop>
</table>

正如您所看到的,我确实设置了此代码<cfset balance = 100 + in - out>。基本上我要做的是获得100的余额的原始值并添加in的值并减去out的值并将其保存为新的余额。

但是,我收到错误The value '' cannot be converted to a number.

我已将in和out的值设置为在数据库中浮动。

我哪里错了?

1 个答案:

答案 0 :(得分:5)

您需要更新查询以涵盖NULL条件

<cfquery name="getInfo" datasource="testing">
  select ISNULL([in], 0) AS [in], ISNULL([out], 0) AS [out]
  FROM test
</cfquery>

此外,我在inout周围加上方括号,因为它们看起来可能是关键词

另外考虑在数据库上进行数学运算,可能会获得更好的性能