关于DB2的日期计算的SQL语句,大神速进

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于DB2的日期计算的SQL语句,大神速进相关的知识,希望对你有一定的参考价值。

已知日期是201202这种六位格式,怎样通过201202获得201201和201102
截取字段还是怎么做?

SELECT DATE(LEFT('201202', 4) || '-'||RIGHT('201202', 2)||'-1') - 1 MONTH,
DATE(LEFT('201202', 4) || '-'||RIGHT('201202', 2)||'-1') + 1 MONTH
from sysibm/sysdummy1

DATE(LEFT('201202', 4) || '-'||RIGHT('201202', 2)||'-1') - 1 MONTH这样拿到的是日期类型,需要cast as char,然后截取就可以了

db2处理日期很垃圾的
参考技术A DB2语句不太会,如果是Oracle
1、转换为日期 to_date('201202','yyyymm')
2、求上十一个月 add_months(to_date('201202','yyyymm'),-11)
3、转换回字符 to_char(add_months(to_date('201202','yyyymm'),1),'yyyymm')
即可得到201102
如果DB2也有以上功能,请按以上思路试一下吧!
参考技术B 201202获得201201和201102
你是想获取去年的还是今年的

以上是关于关于DB2的日期计算的SQL语句,大神速进的主要内容,如果未能解决你的问题,请参考以下文章

计算以下之间的 SQL db2 日期时间差

将 DB2 日期计算转换为 Oracle 语法

关于一个DB2 按照日期分组的问题求解

SQL语句问题(关于日期加减与字段加减)

SQL语句如何根据出生日期计算年龄

用SQL语句计算出给定日期是星期几?