我需要输入上个月和年份。因此,如果用户键入201412,则应返回201411.如果他们输入201501,则应返回201401。
答案 0 :(得分:0)
在SQL Server数据库上执行此操作的快速方法是从字符串中创建日期元素,将其转换为日期类型,然后使用函数dateadd并添加-1个月(如果您愿意,可减去一个月) )
像这样:
select DATEADD(MONTH,-1,CAST(LEFT(201401,4)+'-'+RIGHT(201401,2)+'-01' AS DATE))
分解的步骤:
答案 1 :(得分:0)
在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'