Dav*_*vid 37 sql t-sql sql-server sql-server-2005
我在列中有不同的日期.例如20080102,20070821
我想在年份和季度转换这个日期.
20080102
20070821
Run Code Online (Sandbox Code Playgroud)
Year Quarter
2008 2008-Q1
2007 2007-Q3
Run Code Online (Sandbox Code Playgroud)
我如何获得Quarter级别的详细信息.
DLe*_*Leh 81
SELECT DATEPART(QUARTER, @date)
Run Code Online (Sandbox Code Playgroud)
这将返回四分之一@date
,假设@date
是a DATETIME
.
Stu*_*rth 12
SELECT DATENAME(Quarter, CAST(CONVERT(VARCHAR(8), datecolumn) AS DATETIME))
Run Code Online (Sandbox Code Playgroud)
小智 8
这是我如何做到的。非常简短,不依赖于临时表。
CAST(year(TheDate) AS char(4)) + '-Q' +
CAST(CEILING(CAST(month(TheDate) AS decimal(9,2)) / 3) AS char(1))
Run Code Online (Sandbox Code Playgroud)
举个例子:
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
Run Code Online (Sandbox Code Playgroud)
这将返回:
TheDate SelectQuarter
---------- -------------
07/10/2013 2013-Q3
Run Code Online (Sandbox Code Playgroud)
显然,字符串本身可以更改为适合您自己的格式。希望这是有帮助的。
归档时间: |
|
查看次数: |
184405 次 |
最近记录: |