DB2:子字符串

时间:2018-03-15 13:23:54

标签: db2

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

通常我的代码如下所示:

select 
year_month
,variable2
,variable3
from dataset

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

2 个答案:

答案 0 :(得分:3)

从整数

中提取日期部分
SELECT year_month/100,MOD(year_month,100)

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

SELECT TO_DATE(CHAR(year_month),'YYYYMM')

答案 1 :(得分:1)

这种方法也可能:

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