我在一列中有不同的日期。例如:
20080102
20070821我想将这些日期转换为年份和日历季度。例如,
Year Quarter
2008 2008-Q1
2007 2007-Q3我可以使用以下命令获取第一列:
select left(date,4) as year from table 如何生成第二列?
发布于 2013-07-10 23:53:18
我是这样做的。非常简短,并且不依赖于临时表。
CAST(year(TheDate) AS char(4)) + '-Q' +
CAST(CEILING(CAST(month(TheDate) AS decimal(9,2)) / 3) AS char(1))举个例子:
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 这将返回:
TheDate SelectQuarter
---------- -------------
07/10/2013 2013-Q3显然,字符串本身可以更改为适合您自己的格式。希望这能对你有所帮助。
https://stackoverflow.com/questions/11141100
复制相似问题