2014-03-31 29 views
0

我有這樣的語句如何將一個日期變量轉換爲一個數字是sql?

SELECT @startdate = DATEADD(wk, DATEDIFF(wk,0,GETDATE()), -7) -- Monday of previous week 
SELECT @enddate = DATEADD(wk, DATEDIFF(wk,0,GETDATE()), -1) -- Sunday of previous week 

,我想@startdate和@EndDate轉換爲數字的格式如下「年月日」

+0

礦校正和測試。 –

回答

3
SELECT CONVERT(nvarchar(8), @StartDate, 112) 

將轉變2014-03-3120140331

0

這會爲你工作:

SELECT CAST(DATEPART(yyyy,@startdate) AS VARCHAR(4)) + 
    RIGHT('0' + CAST(DATEPART(mm,@startdate) AS VARCHAR(2)),2) + 
    RIGHT('0' + CAST(DATEPART(dd,@startdate) AS VARCHAR(2)),2) 

但這是更好的:

SELECT CONVERT(nvarchar(8), @StartDate, 112) 
1

最簡單方法是使用year()month(),並且day()

select @startdate = year(getdate())*10000 + month(getdate()) * 100 + day(getdate()) 
0

使用convert

declare @enddate smalldatetime 
SELECT @enddate = DATEADD(wk, DATEDIFF(wk,0,GETDATE()), -1) 
select convert(varchar(30), @enddate, 112) 
相關問題