简体   繁体   English

如何进行日期频繁更改(逐日)

[英]How to take date frequent change (day by day)

I want to change date in every day in my result. 我想每天更改结果中的日期。 How it is possible 怎么可能

like example: WHERE REPLY_dATE BETWEEN '2017-03-17 12:00:00 AM' AND '2017-03-17 4:00:00 PM I want to replace=====2017-01-01 12:00:00 AM====today_Date 2017-03-17 4:00:00 PM=======current date 像这样的例子:'2017-03-17 12:00:00 AM'和'2017-03-17 4:00:00 PM之间的WHERE REPLY_dATE我要替换===== 2017-01-01 12:00: 00 AM ==== today_Date 2017-03-17 4:00:00 PM =======当前日期

Use LEAST() for the first step: 第一步使用LEAST()

LEAST(264, Round(SUM(TIMESTAMPDIFF(MINUTE,Request_Date, REPLY_dATE))/480)) as WH

Use CASE for second step: 使用CASE进行第二步:

CASE WHEN ROUND((126720-sum(TIMESTAMPDIFF(MINUTE,Request_Date, REPLY_dATE)))/480) < 0 THEN 0 
ELSE LEAST(264, Round(SUM(TIMESTAMPDIFF(MINUTE,Request_Date, REPLY_dATE))/480))
END 

If you need WH and VH as well, you can use a sub-query to avoid redundancy: 如果还需要WHVH ,则可以使用子查询来避免冗余:

SELECT VH, WH,
CASE 
  WHEN (SELECT VH) < 0 THEN 0 
  ELSE (SELECT WH)
END AS MyComputedColumn
FROM
(
  SELECT 
  ROUND((126720-sum(TIMESTAMPDIFF(MINUTE,Request_Date, REPLY_dATE)))/480) as VH,
  LEAST(264, Round(SUM(TIMESTAMPDIFF(MINUTE,Request_Date, REPLY_dATE))/480)) as WH
  FROM bbt2.new_table
) AS X;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM