是否有一種實現的方法可以從T-SQL中的日期字段中單獨檢索日,月和年?我發現的一切都是讓這個過程相反,在我的情況下,我的意思是如果我有2012-05-22我想有3種不同的方法分別得到2012,05和22。從日期分開檢索日,月和年
在此先感謝。
是否有一種實現的方法可以從T-SQL中的日期字段中單獨檢索日,月和年?我發現的一切都是讓這個過程相反,在我的情況下,我的意思是如果我有2012-05-22我想有3種不同的方法分別得到2012,05和22。從日期分開檢索日,月和年
在此先感謝。
如果它是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)
感謝這正是我一直在尋找的! –
沒問題!很高興我能幫上忙 :) – mattytommo
我相信你可以做date_format(DATEFIELD%M)作爲month,date_format(DATEFIELD%b)作爲一天。
我在Rails應用程序中使用了類似的東西。
問題的答案取決於OP正在使用的RDBMS - 您提到的功能僅限於MySQL。 –
啊,對不起。錯誤地認爲它是MySQL! – dannymcc
如果您正在使用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
什麼數據庫和版本?你想要字符串「05」還是數字5? –
@Mark Byers我想要的數字,我在MS SQL Server 2008中,如果這是問題。 –