帮我修改我的代码。 这是我的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
但输出很乱。我只是想这样说,当due_date结束时,0.02惩罚将适用。
(((DATEDIFF( lt.due_date, lt.rel_date )) + curdate()) * 0.02) AS penalty..
我将如何在php mysql中显示这个? 我是新手。我实际上正在努力解决这个问题。 请帮忙。谢谢
答案 0 :(得分:0)
我不确定你是多么喜欢每天或一次点球,但你可以使用IF
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
考虑到您正在尝试将due_date与rel_date进行比较以考虑惩罚。如果due_date大于rel_date,则返回惩罚为0.02。
如果您想将其与今天的日期进行比较,可以使用
IF(DATEDIFF(CURDATE(), lt.due_date) > 0, 0.02, 0) AS penalty
如果今天的日期大于due_date,则会将罚款减为0.02。
编辑:要在due_date之后的每一天应用0.02罚款,您应该使用以下内容:
IF(DATEDIFF(CURDATE(), lt.due_date) > 0, DATEDIFF(CURDATE(), lt.due_date)*0.02, 0) AS penalty