IF startTime = 11.30 AND endTime = 12.30
如果用户给出开始时间为11.20,它应该在startTime和endTime中减去10分钟[10]的时间,如果开始时间是11.50,则应该增加20分钟[20]
如何在单个sql查询中实现此目的
output: if the startTime =11.20
startTime=11.20
endTime=12.20
output : if the startTime =11.50
startTime=11.50
endTime=12.50
答案 0 :(得分:1)
您的说明和示例仍然不匹配,因此我只能根据您的评论给出一个非常概括的示例......
如何根据CASE语句添加或减去间隔...
CASE
WHEN MINUTE(startTime) = 20 THEN DATE_ADD(startTime, -10 MINUTES)
WHEN MINUTE(startTime) = 50 THEN DATE_ADD(startTime, 20 MINUTES)
ELSE NULL
END AS newStartTime,
CASE
WHEN MINUTE(startTime) = 20 THEN DATE_ADD(endTime, -10 MINUTES)
WHEN MINUTE(startTime) = 50 THEN DATE_ADD(endTime, 20 MINUTES)
ELSE NULL
END AS newEndTime
您可以拥有任意数量的WHEN
条款,将MINUTE(startTime) = 20
条件更改为您喜欢的任何条件,并在THEN
子句中拥有您想要的任何内容。然后,如果您的案例与任何WHEN
子句不匹配,请将您想要的输出放在ELSE
子句中。
您需要重复startTime
和endTime
字段的逻辑。