Php sql-显示给定日期(开始日期和结束日期)的天数范围,如果结束日期超过了应用的惩罚

Php sql-显示给定日期(开始日期和结束日期)的天数范围,如果结束日期超过了应用的惩罚,php,mysql,date,sum,Php,Mysql,Date,Sum,帮我修改代码。 这是我的sql代码: SELECT lt.loan_amount, lt.rel_date, lt.due_date, DATEDIFF( lt.rel_date, lt.due_date ) AS span, (((DATEDIFF( lt.due_date, lt.rel_date )) + curdate()) * 0.02) AS penalty FROM loan_transaction lt, members m WHERE

帮我修改代码。 这是我的sql代码:

    SELECT lt.loan_amount, lt.rel_date, lt.due_date,
    DATEDIFF( lt.rel_date, lt.due_date ) AS span, 
    (((DATEDIFF( lt.due_date, lt.rel_date )) + curdate()) * 0.02) AS penalty
    FROM loan_transaction lt, members m
    WHERE lt.MID = m.MID
但产出是一团糟。我只是想说,当到期日结束时,将适用0.02的罚款

    (((DATEDIFF( lt.due_date, lt.rel_date )) + curdate()) * 0.02) AS penalty..
我将如何在php mysql中显示这一点? 我是个新手。事实上,我正在努力解决这个问题。
请帮忙。谢谢你

我不确定你到底喜欢罚多少分,比如每天还是一次,但你可以使用

这是考虑到您正试图比较到期日和重新生效日以考虑处罚。如果到期日大于rel_日期,这将返回0.02的罚款

如果要将其与今天的日期进行比较,可以使用

IFDATEDIFFCURDATE,lt.due_date>0,0.02,0作为惩罚

如果今天的日期大于到期日,这将返回0.02的罚款

编辑:要对到期日后的每一天处以0.02的罚款,您应使用以下方法:


如果DATEDIFFCURDATE,lt.due_date>0,DATEDIFFCURDATE,lt.due_date*0.02,0作为惩罚

感谢您的快速回复。是的,每天都有。这很有帮助。非常感谢。例如,我的rel_日期为2015-02-26,到期日为2015-03-26。我将如何处罚?我将在2015-03-26之后申请罚款。非常感谢你的帮助。我得到了它。我不能投票,因为它需要15个声望,而我只有6个。非常感谢你的帮助哦,没关系。但若答案有帮助,你们可以接受!
SELECT lt.loan_amount, lt.rel_date, lt.due_date,
    DATEDIFF( lt.rel_date, lt.due_date ) AS span, 
    IF(DATEDIFF(lt.due_date, lt.rel_date) > 0, 0.02, 0) AS penalty
    FROM loan_transaction lt, members m
    WHERE lt.MID = m.MID