Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >CASE GETDATE() - sql server中的GETDATE()

CASE GETDATE() - sql server中的GETDATE()
EN

Stack Overflow用户
提问于 2020-09-09 16:03:55
回答 2查看 79关注 0票数 0

有人能解释一下下面的例子吗?

查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT (CASE WHEN (GETDATE() - GETDATE()) < 31 THEN  1 ELSE 0 END) [Result],
(CASE WHEN (GETDATE() - '2020-08-30') < 31 THEN  1 ELSE 0 END) [Result1],
(CASE WHEN (GETDATE() - '2020-07-30') < 31 THEN  1 ELSE 0 END) [Result2],
(CASE WHEN (GETDATE() - '2020-07-30') < 31 THEN  1 ELSE 0 END) [Result3]

输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Result  Result1 Result2 Result3
1        1      0       0

我想知道ResultResult1如何拥有1和else 0

实际查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT  ((CASE WHEN (GETDate()-[InvBillDate])<31 then 1 
else 
(case when (GETDate()-[InvBillDate])<61 And (GETDate()-[InvBillDate])>30 then 2 
else 
(case when (GETDate()-[InvBillDate])<91 And (GETDate()-[InvBillDate])>60 then 3 
else 4 end) 
end) end)) AS [ColNo] 
FROM [dbo].[Invoice] (NOLOCK)
EN

回答 2

Stack Overflow用户

发布于 2020-09-09 17:58:02

如果你不介意的话,我建议用这种方式来缩短查询。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT (
       (CASE WHEN (GETDate()-[InvBillDate])<31 then 1 
       else 
       (case when (GETDate()-[InvBillDate])<61 then 2 
       else 
       (case when (GETDate()-[InvBillDate])<91 then 3 
       else 4 
       end) end) end)
       ) AS [ColNo] 
FROM [dbo].[Invoice] (NOLOCK)
票数 1
EN

Stack Overflow用户

发布于 2020-09-09 17:51:00

在上下文有限的情况下,我将尝试解释查询。

它试图计算今天和账单日期之间的日期差异,然后根据这一差异将日期差异分为4组:

  • 在31天内
  • 31- 60天
  • 61- 90天
  • 超过90天
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63815425

复制
相关文章
SQL函数 GETDATE
GETDATE将此时区的当前本地日期和时间作为时间戳返回;它根据本地时间变量(如夏令时)进行调整。
用户7741497
2022/04/04
1.4K0
getdate()方法_formatdatetime函数
今天看博客看到了一个关于字符串处理的方法,突然就想到可以用来格式化数据,相比之前我是用判断然后用字符串拼接的方法,比较繁琐,感觉这样做会更加好些。
全栈程序员站长
2022/10/03
3950
SQL中的CASE WHEN使用
SQL中的CASE WHEN使用 Case具有两种格式。简单Case函数和Case搜索函数。 –简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数(WHEN 后还可以用 AND ,OR ) CASE WHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ THEN ‘女’ ELSE ‘其他’ END
javascript.shop
2019/09/04
2.3K0
SQL常用脚本大全,建议收藏!
大家好,我是俊欣 。之前我为大家分享过 100个开箱即用 的 Shell 脚本,深受欢迎 。但作为一名数据人,在工作中也会遇到许多比较常用的SQL脚本,今天呢,我就整理总结出来分享给大家,希望能有所帮助。
用户6888863
2022/06/08
1.6K0
SQL常用脚本大全,建议收藏!
你真的会玩SQL吗?实用函数方法汇总
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节点的方法 你真的会玩SQL吗?让人晕头转向的三值逻辑 你真的会玩SQL吗?EXISTS和IN之间的区别 你真的会玩SQL吗?无处不在的子查询 你真的会玩SQL吗?Case也疯狂 你真的会玩SQL吗?表表达式,排名函数 你真的会玩SQL吗?简单的 数据修改 你真的会玩SQL吗?你所不知道的 数据聚合 你真的会玩S
欢醉
2018/01/22
1.3K0
SQL基础日期函数
1 --dateadd 将制定的数值添加到指定的日期部分后的日期 select dateadd(mm,4,'01/01/99') 2 -- 返回:以当前的日期格式返回05/01/99 3 4 --datediff 二个日期之间的指定日期部分的区别 select datediff(mm,'01/01/99','05/01/99') 5 --返回:4 6 7 --datename 日期中指定日期部分的字符串形式 select datename(dw,'01/01/2000')
用户1112962
2018/07/04
2.1K0
SQL Server中的GUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。
全栈程序员站长
2022/07/15
5.2K0
Sql年月日计算方法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。
Java架构师必看
2021/03/22
1.7K0
SQL中CASE表达式的妙用
case 表达式分为搜索表达式和简单表达式,由于搜索表达式包含了简单表达式的所有用法,此处仅介绍搜索表达式的用法。
披头
2020/08/17
1K0
SQL Server各种日期计算方法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文 章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。  
Java架构师必看
2021/03/22
2.5K0
一套简单实用的SQL脚本,总有你需要的
title在和titleofcourtesy进行拼接后符合条件的就只有ID为6,7,8,9的了
猴哥yuri
2019/12/05
4690
sql 时间总结
(本贴是从网上找了几个比较好的帖子总合了一下并做了一下修改) 下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。 日期部分 缩写  year yy, yyyy  quarter qq, q  Month mm, m  dayofyear dy, y  Day dd, d  Week wk, ww  Hour hh  minute mi, n  second ss, s  millisecond ms  SELECT DATEPART(dy, @DATE) AS DayOfY
lpxxn
2018/01/31
1.9K0
sql 时间转字符串_字符串举例
Select CONVERT(varchar(100), GETDATE(), 0): 05 20 2021 3:47PM Select CONVERT(varchar(100), GETDATE(), 1): 05/20/21 Select CONVERT(varchar(100), GETDATE(), 2): 21.05.20 Select CONVERT(varchar(100), GETDATE(), 3): 20/05/21 Select CONVERT(varchar(100), GETDATE(), 4): 20.05.21 Select CONVERT(varchar(100), GETDATE(), 5): 20-05-21 Select CONVERT(varchar(100), GETDATE(), 6): 20 05 21 Select CONVERT(varchar(100), GETDATE(), 7): 05 20, 21 Select CONVERT(varchar(100), GETDATE(), 8): 15:47:31 Select CONVERT(varchar(100), GETDATE(), 9): 05 20 2021 3:47:31:410PM Select CONVERT(varchar(100), GETDATE(), 10): 05-20-21 Select CONVERT(varchar(100), GETDATE(), 11): 21/05/20 Select CONVERT(varchar(100), GETDATE(), 12): 210520 Select CONVERT(varchar(100), GETDATE(), 13):20 05 2021 15:47:31:410 Select CONVERT(varchar(100), GETDATE(), 14): 15:47:31:410 Select CONVERT(varchar(100), GETDATE(), 20):2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21):2021-05-20 15:47:31.410 Select CONVERT(varchar(100), GETDATE(), 22): 05/20/21 3:47:31 PM Select CONVERT(varchar(100), GETDATE(), 23): 2021-05-20 Select CONVERT(varchar(100), GETDATE(), 24): 15:47:31 Select CONVERT(varchar(100), GETDATE(), 25): 2021-05-20 15:47:31.410 Select CONVERT(varchar(100), GETDATE(), 100): 05 20 2021 3:47PM Select CONVERT(varchar(100), GETDATE(), 101): 05/20/2021 Select CONVERT(varchar(100), GETDATE(), 102): 2021.05.20 Select CONVERT(varchar(100), GETDATE(), 103): 20/05/2021 Select CONVERT(varchar(100), GETDATE(), 104): 20.05.2021 Select CONVERT(varchar(100), GETDATE(), 105):20-05-2021 Select CONVERT(varchar(100), GETDATE(), 106):20 05 2021 Select CONVERT(varchar(100), GETDATE(), 107): 05 20, 2021 Select CONVERT(varchar(100), GETDATE(), 108): 15:47:31 Select CONVERT(varchar(100), GETDATE(), 109): 05 20 2021 3:47:31:410PM Select CONVERT(varchar(100), GETDATE(), 110): 05-20-2021 Select CONVERT(varchar(100), GETDATE(), 111): 2021/05/20 Select CONVERT(varchar(100), GETDATE(), 112): 20210520 Select CONVERT(varchar(100), GETDATE(),
全栈程序员站长
2022/11/10
1.6K0
sql 时间转字符串_字符串举例
restapi(9)- caching, akka-http 缓存
restapi作为前后端交互的枢纽:面对大批量的前端请求,需要确保回复的及时性。使用缓存是一项有效工具。我们可以把多数前端请求的回复response存入缓存,特别是一些需要大量计算才能获取的回复值,更可以大大提高后端的反应速度。值得庆幸的是akka-http已经提供了对缓存的支持,是基于java8 caffein的一套缓存操作工具包的。下面就介绍一下akka-http的caching。
用户1150956
2019/11/12
5990
sql server中部分函数功能详解
我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
寻找石头鱼
2019/09/11
1.6K0
sql:case when
https://www.cnblogs.com/kirinboy/archive/2010/01/11/1644108.html
ke1th
2019/08/14
5760
SQL Server生成随机日期模拟测试数据的需求
最近碰到个SQL Server跑SQL的性能问题,同样是关系型数据库,因此在原理层面,不同数据库之间有些内容是可以借鉴的,但是SQL Server一些细节上和操作层面,略有不同,需要熟悉和积累。
bisal
2022/01/25
2K0
SQL Server 2008中的hierarchyid
本人转载:http://www.cnblogs.com/chenxizhang/archive/2009/04/26/1444016.html
跟着阿笨一起玩NET
2018/09/18
1.7K0
Sql常用日期格式
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm  例如:  select getdate()  2004-09-12 11:06:08.177  整理了一下SQL Server里面可能经常会用到的日期格式转换方法:  举例如下:  select CONVERT(varchar, getdate(), 120 )  2004-09-12 11:06:08
javascript.shop
2019/09/04
2.1K0
SQL Server 的时间函数
2、dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值,例如:向日期加上2天
浩Coding
2019/07/03
2.8K0

相似问题

SQL Server: GETDATE()

24

Getdate() sql server 2008

12

舍入GETDATE (SQL Server)

41

SQL Server getdate()格式

31

SQL server中的GETDATE()函数

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文