首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从TSQL中的日期获取日历季度

如何从TSQL中的日期获取日历季度
EN

Stack Overflow用户
提问于 2012-06-21 23:05:58
回答 16查看 246.7K关注 0票数 51

我在一列中有不同的日期。例如:

代码语言:javascript
运行
复制
20080102
20070821

我想将这些日期转换为年份和日历季度。例如,

代码语言:javascript
运行
复制
Year      Quarter
2008      2008-Q1
2007      2007-Q3

我可以使用以下命令获取第一列:

代码语言:javascript
运行
复制
select left(date,4) as year from table 

如何生成第二列?

EN

Stack Overflow用户

发布于 2013-07-10 23:53:18

我是这样做的。非常简短,并且不依赖于临时表。

代码语言:javascript
运行
复制
CAST(year(TheDate) AS char(4)) + '-Q' + 
CAST(CEILING(CAST(month(TheDate) AS decimal(9,2)) / 3) AS char(1))

举个例子:

代码语言:javascript
运行
复制
SELECT convert(char(10), getdate(), 101) AS TheDate, 
CAST(year(getdate()) AS char(4)) + '-Q' + 
    CAST(CEILING(CAST(month(getdate()) AS decimal(4,2)) / 3) AS char(1)) AS SelectQuarter 

这将返回:

代码语言:javascript
运行
复制
TheDate    SelectQuarter
---------- -------------
07/10/2013 2013-Q3

显然,字符串本身可以更改为适合您自己的格式。希望这能对你有所帮助。

票数 8
EN
查看全部 16 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11141100

复制
相关文章

相似问题

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