在 MSSQL 中,给定一年“yyyy”,我将如何将开始日期返回为 01/01/yyyy,将结束日期返回为 12/31/yyyy。
问问题
4030 次
4 回答
4
declare @yyyy int; set @yyyy = 2009;
select DATEADD(yy,@yyyy-1900,0), DATEADD(yy,@yyyy-1899,-1)
于 2012-12-13T23:53:47.663 回答
1
您使用的是 SQL Server 2012(最新版本)吗?
如果是,您可以使用新的DATEFROMPARTS
或DATETIMEFROMPARTS
功能。
第一个链接的示例:
SELECT DATEFROMPARTS ( 2010, 12, 31 ) AS Result;
...将返回:
Result
----------------------------------
2010-12-31
(1 row(s) affected)
于 2012-12-14T06:26:05.317 回答
0
如果你使用 MySQL 数据库,你也可以试试这个;-
SELECT CONCAT ('01/01','/',2009) start_date ,concat ('12/31','/',2009) end_date
FROM table_name
于 2012-12-14T06:36:14.077 回答
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
于 2012-12-14T08:31:06.390 回答