我有這樣的語句如何將一個日期變量轉換爲一個數字是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轉換爲數字的格式如下「年月日」
我有這樣的語句如何將一個日期變量轉換爲一個數字是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轉換爲數字的格式如下「年月日」
SELECT CONVERT(nvarchar(8), @StartDate, 112)
將轉變2014-03-31
到20140331
這會爲你工作:
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)
最簡單方法是使用year()
,month()
,並且day()
:
select @startdate = year(getdate())*10000 + month(getdate()) * 100 + day(getdate())
使用convert
declare @enddate smalldatetime
SELECT @enddate = DATEADD(wk, DATEDIFF(wk,0,GETDATE()), -1)
select convert(varchar(30), @enddate, 112)
礦校正和測試。 –