gpt4 book ai didi

php - sql - 显示给定日期(date_start 和 date_end)的天数跨度,如果 end_date 超过则应用惩罚

转载 作者:行者123 更新时间:2023-11-30 22:48:52 26 4
gpt4 key购买 nike

帮我修改我的代码。这是我的 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 中显示它?我对此很陌生。我实际上正在为此苦苦挣扎。请帮助。谢谢

最佳答案

我不确定你到底喜欢多惩罚,比如每天一次还是一次,但你可以使用 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 惩罚

如果今天的日期大于 due_date,这将返回 0.02 的惩罚。

编辑:要在 due_date 之后的每一天应用 0.02 的罚款,您应该使用以下内容:

IF(DATEDIFF(CURDATE(), lt.due_date) > 0, DATEDIFF(CURDATE(), lt.due_date)*0.02, 0) 作为惩罚

关于php - sql - 显示给定日期(date_start 和 date_end)的天数跨度,如果 end_date 超过则应用惩罚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com