DB2:子字符串一个数字



在我的数据集中,我有一个变量(数字(,它是年+月,称为year_month,值为201702,201703等。

通常我的代码如下所示:

select 
year_month
,variable2
,variable3
from dataset

我希望从year_month变量中提取月份和年份,但是当year_month是数字时,我不确定如何执行此操作。编辑:不是重复的,不同的问题,我不在乎日期。

从整数中提取日期部分

SELECT year_month/100,MOD(year_month,100)

要将整数完全转换为日期:

SELECT TO_DATE(CHAR(year_month),'YYYYMM')
也可以

使用此方法:

select left(cast(year_mont as varchar(6)), 4) as YYYY,                    
right(cast(year_mont as varchar(6)), 2) as MM from yourtable

你可以有一个这样的时间戳:

select TIMESTAMP_FORMAT(cast(year_mont as varchar(6)), 'YYYYMM') as YouTimeStamp 
from yourtable   

或者日期也是:

select Date(TIMESTAMP_FORMAT(cast(year_mont as varchar(6)), 'YYYYMM')) as YouTimeStamp 
from yourtable