我想要创建循环条件块,如下面的条件所示。 我在数据表中有一个“创建日期”列
我想实现以下条件
0-5 days from created date
print text1
6-10 from created date
print text2
11-15
print text3
16-20
print text4
21-25
print text1
26-30
print text2
以此类推。 所以20天后,第一篇文本又被打印出来,每5天就有4组文本被打印出来。
发布于 2016-12-02 06:10:33
在Server中,您可以在
SELECT name, total,
CASE
WHEN datediff(day, createdDate, getdate()) <5 THEN 'Almost Due'
WHEN datediff(day, createdDate, getdate()) BETWEEN 6 AND 10 THEN 'Due Now'
...
WHEN datediff(day, createdDate, getdate()) >20 THEN 'PAY NOW!!'
END as discount from invoice
或者在你这个复杂的问题上
SELECT name, total,
CASE (datediff(day, createdDate, getdate()) % 25)
WHEN <5 THEN 'Almost Due'
WHEN BETWEEN 6 AND 10 THEN 'Due Now'
...
WHEN >20 THEN 'PAY NOW!!'
END as discount from invoice
发布于 2016-12-02 08:02:22
使用整数除法和模的组合,精确的运算符取决于SQL的方言。下面是MySQL,MySQL将使用DIV
而不是\
CASE (DATEDIFF(DAY, CreatedDate, GetDate()) \ 5) % 4
WHEN 0 THEN 'text1'
WHEN 1 THEN 'text2'
WHEN 2 THEN 'text3'
WHEN 3 THEN 'text4' END
https://stackoverflow.com/questions/40925799
复制相似问题