sql前一天 - 如何使用SQL Server從當前日期減去30天
sql上個月 (3)
您可以將其轉換為datetime
,然後使用DATEADD(DAY, -30, date)
。
看到here 。
編輯
我懷疑很多人都在發現這個問題,因為他們希望從當前日期中減去(問題的標題,但不是OP的意圖)。 以下munyul的評論更具體地回答了這個問題。 由於評論被認為是空靈的(可以在任何給定點刪除),我將在此重複:
DATEADD(DAY, -30, GETDATE())
我無法從當前日期減去30天,我是SQL Server的新手。
這是我專欄中的數據
date
------------------------------
Fri, 14 Nov 2014 23:03:35 GMT
Mon, 03 Nov 2014 15:18:00 GMT
Tue, 11 Nov 2014 01:24:47 GMT
Thu, 06 Nov 2014 19:13:47 GMT
Tue, 04 Nov 2014 12:37:06 GMT
Fri, 1 Nov 2014 00:33:00 GMT
Sat, 5 Nov 2014 01:06:00 GMT
Sun, 16 Nov 2014 06:37:12 GMT
為了創建上面的列,我使用了varchar(50)
,現在我的問題是我想顯示從日期列開始15-20天的日期可以幫助解決這個問題嗎? 更新[我如何按順序顯示最近7天的日期
試試這個:
將VARCHAR值轉換為DATETIME並為減法添加-30。 另外,在sql-server中格式為Fri,2014年11月14日23:03:35 GMT未轉換為DATETIME。 嘗試使用substring:
SELECT DATEADD(dd, -30,
CAST(SUBSTRING ('Fri, 14 Nov 2014 23:03:35 GMT', 6, 21)
AS DATETIME))
SELECT DATEADD(day,-30,date) AS before30d
FROM...
但強烈建議將日期保留在datetime列中,而不是varchar。