在我的数据集中,我有一个变量(数字),即年+月,名为 year_month ,值为201702,201703等。
通常我的代码如下所示:
select
year_month
,variable2
,variable3
from dataset
我希望从year_month变量中提取月份和年份,但是当 year_month 是数字时,我不确定如何执行此操作。 修改:不是重复,不同的问题,我不关心日期。
答案 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