2012-12-13 169 views

回答

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

谢谢。正是我在找什么。 –

1

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

如果是,您可以使用新的DATEFROMPARTSDATETIMEFROMPARTS函数。从第一个链接

例子:

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

...将返回此:

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

(1 row(s) affected) 
+0

SQL Server 2005是我正在使用的 –

0

你可以,如果你使用的是MySQL数据库也试试这个; -

SELECT CONCAT ('01/01','/',2009) start_date ,concat ('12/31','/',2009) end_date 
FROM table_name 
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 
相关问题