在MSSQL中,鉴于一年'yyyy',我如何将开始日期返回01/01 / yyyy,结束日期为12/31 / yyyy。
答案 0 :(得分:4)
declare @yyyy int; set @yyyy = 2009;
select DATEADD(yy,@yyyy-1900,0), DATEADD(yy,@yyyy-1899,-1)
答案 1 :(得分:1)
您使用的是SQL Server 2012(最新版本)吗?
如果是,您可以使用新的DATEFROMPARTS
或DATETIMEFROMPARTS
功能。
来自第一个链接的示例:
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