MySQL如何比较2个日期并根据其返回值返回1个特定输出?

MySQL如何比较2个日期并根据其返回值返回1个特定输出?,mysql,Mysql,这是我的目标: 比较两个日期,今天的日期和结束日期,例如2020/02/04到2021/02/03 从上面返回总天数。e、 g.以上为365天 If语句-如果总天数小于拒绝的365天返回值的50%如果其位于51%-75%之间的区域,则返回值为小心。。如果高于76%返回值为accept 这就是我到目前为止得到的: select datediff('2021-02-03', curdate()); 输出为365天 如何将上述3个输出放入1个查询中?-或者3个不同的您可以在这种情况下使用案例语句

这是我的目标:

  • 比较两个日期,今天的日期和结束日期,例如2020/02/04到2021/02/03
  • 从上面返回总天数。e、 g.以上为365天
  • If语句-如果总天数小于
    拒绝的365天返回值的50%
    如果其位于
    51%-75%之间的区域
    ,则返回值为
    小心
    。。如果高于
    76%
    返回值为
    accept
这就是我到目前为止得到的:

select datediff('2021-02-03', curdate());
输出为365天


如何将上述3个输出放入1个查询中?-或者3个不同的

您可以在这种情况下使用
案例
语句。根据你的解释,这是给你的样品

SET @threshold = 365;
SET @date_diff = datediff('2020-02-28', curdate());
select @date_diff diff, @threshold `limit`, @threshold * 0.5 limit_50, @threshold * 0.75 limit_75, 
case
    when @date_diff <=  (@threshold * 0.5) then 'REJECT'
    when (@date_diff > (@threshold * 0.5)) and (@date_diff <= (@threshold * 0.75))  then 'CAUTION'
    ELSE 'ACCEPT'
end as status
;
SET@threshold=365;
设置@date_diff=datediff('2020-02-28',curdate());
选择@date\u diff diff、@threshold`limit`、@threshold*0.5 limit\u 50、@threshold*0.75 limit\u 75、,
案例

当@date_diff(@threshold*0.5))和(@date_diff时,您可以使用
CASE
语句来处理这种情况。根据您的解释,这里是您的示例

SET @threshold = 365;
SET @date_diff = datediff('2020-02-28', curdate());
select @date_diff diff, @threshold `limit`, @threshold * 0.5 limit_50, @threshold * 0.75 limit_75, 
case
    when @date_diff <=  (@threshold * 0.5) then 'REJECT'
    when (@date_diff > (@threshold * 0.5)) and (@date_diff <= (@threshold * 0.75))  then 'CAUTION'
    ELSE 'ACCEPT'
end as status
;
SET@threshold=365;
设置@date_diff=datediff('2020-02-28',curdate());
选择@date\u diff diff、@threshold`limit`、@threshold*0.5 limit\u 50、@threshold*0.75 limit\u 75、,
案例

当@date_diff(@threshold*0.5))和(@date_diff
设置@dt_comp='2021-02-03'时;

选择(datediff(@dt_comp,curdate())/365=0.51和datediff('2021-02-03',curdate())/365 0.75,然后“接受”结束)作为描述状态;
设置@dt_comp='2021-02-03';

选择(datediff(@dt_comp,curdate())/365=0.51和datediff('2021-02-03',curdate())/365 0.75时的情况,然后选择“接受”结束)作为描述状态;

您可以使用下面的sql执行此操作

SELECT 
CASE
    WHEN DATEDIFF('2019-10-30', Curdate()) > 365/2 THEN "Reject"
    WHEN DATEDIFF('2019-10-30', Curdate()) < 365/4 THEN "Accept"
    ELSE "Caution"
END AS result;
选择
案例
当DATEDIFF('2019-10-30',Curdate())>365/2时,则“拒绝”
当DATEDIFF('2019-10-30',Curdate())<365/4时,则“接受”
否则“小心”
结果,;

您可以使用下面的sql来执行此操作

SELECT 
CASE
    WHEN DATEDIFF('2019-10-30', Curdate()) > 365/2 THEN "Reject"
    WHEN DATEDIFF('2019-10-30', Curdate()) < 365/4 THEN "Accept"
    ELSE "Caution"
END AS result;
选择
案例
当DATEDIFF('2019-10-30',Curdate())>365/2时,则“拒绝”
当DATEDIFF('2019-10-30',Curdate())<365/4时,则“接受”
否则“小心”
结果,;

您需要编写一个procedure@salsinga我要买一个look@98Ed你需要写一个案例这里没有程序的要求我真的不明白这和数据的存储和检索有什么关系procedure@salsinga我要买一个look@98Ed你需要写的时候,它的情况下,这里是没有要求的这里的过程我真的不明白这与数据的存储和检索有什么关系。