加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 添加WHERE YEAR中断计算

发布时间:2020-12-13 16:47:23 所属栏目:PHP教程 来源:网络整理
导读:我有一个非常简单的查询: SELECT a,b,a+b as c FROM records 哪个效果很好.他是结果的一个例子: Array ( [a] = 100.92 [b] = 21.00 [c] = 121.92 ) 但是,当我尝试按年过滤记录时: SELECT a,a+b as c FROM recordsWHERE YEAR(`mydate`) = '2011' a b计算消
我有一个非常简单的查询:

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

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

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

但是,当我尝试按年过滤记录时:

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

a b计算消失:

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

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

更新:

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

选择信用卡,借记卡,信用卡借记作为总FROM事务
年份(transaction_date)=’2011′
> transaction_date是DATE字段类型.
>此外,贷方或借方字段始终为零.
> PHP代码:

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);
}

解决方法

我唯一能想到的是信用卡或借记卡都是NULL(而不是0),而这反过来也会产生总NULL的值.试试这个,看看它是否有任何改变:

... COALESCE(credit,0) + COALESCE(debit,0) as total ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读