2012-05-01 35 views
0

是否有一種實現的方法可以從T-SQL中的日期字段中單獨檢索日,月和年?我發現的一切都是讓這個過程相反,在我的情況下,我的意思是如果我有2012-05-22我想有3種不同的方法分別得到2012,05和22。從日期分開檢索日,月和年

在此先感謝。

+0

什麼數據庫和版本?你想要字符串「05」還是數字5? –

+0

@Mark Byers我想要的數字,我在MS SQL Server 2008中,如果這是問題。 –

回答

4

如果它是SQL Server,您可以使用DATEPART(MSDN:http://msdn.microsoft.com/en-us/library/ms174420.aspx

例子:

DECLARE @yourDate DATETIME 
SET @yourDate = '2012-05-22' 

SELECT DATEPART(DAY, @yourDate), 
     DATEPART(MONTH, @yourDate), 
     DATEPART(YEAR, @yourDate) 
+0

感謝這正是我一直在尋找的! –

+0

沒問題!很高興我能幫上忙 :) – mattytommo

0

我相信你可以做date_format(DATEFIELD%M)作爲month,date_format(DATEFIELD%b)作爲一天。

我在Rails應用程序中使用了類似的東西。

​​

+0

問題的答案取決於OP正在使用的RDBMS - 您提到的功能僅限於MySQL。 –

+0

啊,對不起。錯誤地認爲它是MySQL! – dannymcc

1

如果您正在使用MSSQL。你可以這樣做:

DECLARE @date DATETIME 
SET @date=GETDATE() 
SELECT 
    YEAR(@date) AS Years, 
    MONTH(@date) AS MONTHs, 
    DAY(@date) AS Days 

或者您可以使用datepart。像這樣:

DECLARE @date DATETIME 
SET @date=GETDATE() 
SELECT 
    DATEPART(YEAR,@date) AS Years, 
    DATEPART(MONTH,@date) AS MONTHs, 
    DATEPART(DAY,@date) AS Days 
相關問題