[英]sql get previous month
我需要在輸入時獲取前一個月和一年。所以如果用戶輸入 201412 那么它應該返回 201411。如果他們輸入 201501 那么它應該返回 201401。
在 SQL Server 數據庫上執行此操作的一種快速方法是從字符串中創建一個日期元素,將其轉換為日期類型,然后使用函數 dateadd 並添加 -1 個月(如果您願意,可以減去一個月)
像這樣:
select DATEADD(MONTH,-1,CAST(LEFT(201401,4)+'-'+RIGHT(201401,2)+'-01' AS DATE))
步驟分解:
在 SQL Server 中
DECLARE @dateAsNumber VARCHAR(8);
SET @dateAsNumber = '198705';
DECLARE @DateConvertedFromNumber DATETIME;
SELECT @DateConvertedFromNumber = CONVERT (DATETIME, CONVERT(CHAR(8), @dateAsNumber
+ '01'))
SELECT LEFT(CONVERT(VARCHAR, DATEADD(YEAR, -1,
@DateConvertedFromNumber), 112),
6) AS 'Year Before'
SELECT LEFT(CONVERT(VARCHAR, DATEADD(MONTH, -1,
@DateConvertedFromNumber), 112),
6) AS 'Month Before'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.