获取开始日期和结束日期 - 从给定年份yyyy

时间:2012-12-13 23:38:55

标签: sql sql-server date

在MSSQL中,鉴于一年'yyyy',我如何将开始日期返回01/01 / yyyy,结束日期为12/31 / yyyy。

4 个答案:

答案 0 :(得分:4)

declare @yyyy int; set @yyyy = 2009;
select DATEADD(yy,@yyyy-1900,0), DATEADD(yy,@yyyy-1899,-1)

答案 1 :(得分:1)

您使用的是SQL Server 2012(最新版本)吗?

如果是,您可以使用新的DATEFROMPARTSDATETIMEFROMPARTS功能。

来自第一个链接的示例:

SELECT DATEFROMPARTS ( 2010, 12, 31 ) AS Result;

...将返回此信息:

Result
----------------------------------
2010-12-31

(1 row(s) affected)

答案 2 :(得分:0)

如果您使用的是MySQL数据库,也可以尝试使用它; -

 SELECT CONCAT ('01/01','/',2009) start_date ,concat ('12/31','/',2009) end_date 
 FROM table_name

答案 3 :(得分:0)

查询:

declare @yyyy int; set @yyyy = 2012;

SELECT convert(varchar,DATEADD(yyyy, @yyyy - 1900, 0), 101) AS StartDate, 
       convert(varchar,DATEADD(yyyy, @yyyy - 1899, -1), 101) AS EndDate
--OR
SELECT convert(varchar,'01/01/'+CAST(@yyyy as varchar(4)), 101) AS StartDate,
       convert(varchar,'12/31/'+CAST(@yyyy as varchar(4)), 101) AS EndDate

结果:

StartDate   EndDate
01/01/2012  12/31/2012