1

如何使用 Oracle 的 PHP 函数将 null 值更改为 0 并对其进行简单(求和)?以下是我当前的代码

   $conn = ......;
   $strSQL = .....;
   $objParse = oci_parse ($conn, $strSQL);
   oci_execute ($objParse);
   $total_tonnage = 0;
   while($objResult = oci_fetch_array($objParse,OCI_BOTH))
   {
    $total_tonnage += $objResult["TON"];
   }
   echo $total_tonnage;

当我运行上面的代码时,我收到了

SCREAM:忽略错误抑制

注意:未定义索引:TON

供您参考,当没有空值时。它运行良好。获得空值/空值时发生该错误。

4

2 回答 2

0

这也可以在数据库中完成-

通常当您需要查询空值作为值时,您可以使用NVL 函数IE:

SELECT nvl(TON, 0) , -- other columns here
FROM your_table
-- rest of the 300++ lines

如果您只需要对值求和并且不想更改 300++ 查询,则可以执行以下操作:

SELECT sum(TON)
FROM (<your 300++ query>)

如果您需要总和和其他列(您不想“分组”),那么您可以执行以下操作:

SELECT t.*, sum(t.TON) over()
FROM (<your 300++ query>) t
于 2013-04-22T08:55:38.203 回答
0
   while($objResult = oci_fetch_array($objParse,OCI_BOTH))
   {
    $total_tonnage += array_key_exists('TON', $objResult) ? $objResult["TON"] : 0;
   }
于 2013-04-22T08:51:31.057 回答