将YYYYMMDD转换为YYYY-MM-DD,并在impala中立即()



我有一个类似的查询

select
sources,
table_name,
position
from prd_sri_datalake.sri_300_300_monitoring_daily_new
where cast(date_process as DATE FORMAT 'YYYY-MM-DD') 
= cast(now() as DATE FORMAT 'YYYY-MM-DD')
ORDER BY TABLE_NAME ASC

对于date_process,其格式为YYYYMMDD,我想将其显示为YYYY-MM-DD。我想在dateprocess等于当前时间的地方显示数据,但我试着投进impala,它不能。有人能帮我吗?

谢谢

如果我理解正确,你想检查date_process=current_date吗?

您可以将date_process转换为时间戳,而不需要像这样的时间CCD_ 1,然后像这个CCD_ 2一样等于没有时间的当前日期。Where子句看起来像这个

where to_timestamp(date_process,'yyyyMMdd')= trunc(now(),'DD') --date to date match

您也可以像以前一样将所有内容转换为yyyyMMdd并进行相等处理。

where date_process= from_timestamp(now(),'yyyyMMdd') --string to string match

EDIT:将date_process从"YYYYMMDD"转换为"YYYY-MM-DD"可以这样完成-首先使用to_timestamp将其转换为时间戳,然后使用from_timestamp将它转换为字符串。

from_timestamp(to_timestamp(date_process,'yyyyMMdd'),'yyyy-MM-dd') as date_process_str_yyyy_MM_dd 

相关内容

  • 没有找到相关文章

最新更新