添加WHERE YEAR会中断计算

时间:2012-09-17 18:49:35

标签: php mysql

我有一个非常简单的查询:

SELECT a, b, a+b as c FROM records

哪个效果很好。他是结果的一个例子:

Array ( [a] => 100.92 [b] => 21.00 [c] => 121.92 )

但是我尝试按年过滤记录的那一刻:

SELECT a, b, a+b as c FROM records
WHERE YEAR(`mydate`) = '2011'

a + b计算消失:

Array ( [a] => 100.92 [b] => 21.00 [c] => ) 

我错过了一些明显的东西吗?

更新

  1. 我被问到实际的SQL,这里是:

    选择信用卡,借记卡,贷方+借记卡作为总的FROM交易 年中(transaction_date)='2011'

  2. transaction_date是 DATE 字段类型。

  3. 此外,信用卡或借记卡字段始终为零。

  4. PHP代码:

  5. 代码

    include($_SERVER["DOCUMENT_ROOT"] . "/pool/_/db.php");
    
    $sql = "SELECT credit, debit, credit+debit as total FROM transactions
                WHERE YEAR(`transaction_date`) = 2011";
    
    $result = mysql_query($sql) or die(mysql_error());
    
    while($row = mysql_fetch_assoc($result)) {
            print_r($row);
    }
    

1 个答案:

答案 0 :(得分:3)

我唯一能想到的是,creditdebitNULL(不是0),反过来,它会产生总值{{ 1}}。试试这个,看看它是否有任何改变:

NULL