2012-12-13 175 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 
相關問題