从数字(int)格式的日期获取n-3或n-x个月(〜90天前,对SQL Server和DB2具有年度更改影响

问题描述 投票:0回答:1

我有一个数字列(int),它以YYYYMMDD格式表示日期。例如20200101。现在,我想得到20191001。我该怎么办?

sql sql-server db2 db2-400
1个回答
0
投票

SQLSERVER上尝试此:]

select dateadd(DAY, -90, convert(date, convert(char(8), date_col, 23))) 
from test;

DATEADD将减去从该日期起90天。

DB2上尝试此:

select date(to_date(date_col, 'yyyymmdd')) - 90 days 
from test;
© www.soinside.com 2019 - 2024. All rights reserved.