首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环条件块SQL

循环条件块SQL
EN

Stack Overflow用户
提问于 2016-12-02 06:03:37
回答 2查看 73关注 0票数 0

我想要创建循环条件块,如下面的条件所示。 我在数据表中有一个“创建日期”列

我想实现以下条件

代码语言:javascript
运行
复制
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组文本被打印出来。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-02 06:10:33

在Server中,您可以在

代码语言:javascript
运行
复制
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

或者在你这个复杂的问题上

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2016-12-02 08:02:22

使用整数除法和模的组合,精确的运算符取决于SQL的方言。下面是MySQL,MySQL将使用DIV而不是\

代码语言:javascript
运行
复制
CASE (DATEDIFF(DAY, CreatedDate, GetDate()) \ 5) % 4
  WHEN 0 THEN 'text1'
  WHEN 1 THEN 'text2'
  WHEN 2 THEN 'text3'
  WHEN 3 THEN 'text4' END
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40925799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档