我有MOD17A1.A2002047.h20v09.058.2007117021342.hdf存储在我的数据库中的文件。我有一列文件名是这样的(列的名称是_filename_)。2002047在文件名中表示 2002 年的第 47 天。我必须将日期格式的日期提取2002-02-16到每个文件名的单独列中。
我想出了这个解决方案:
with S as (
select (select substring(filename from 10 for 4) || (select hiph)
|| (select substring(filename from 14 for 3))) as D
,mytable.rid as s_rid from mytable)
update mytable
set date_column = (select (to_date(d , 'IYYY-IDDD')')::date)
from S
where id=s_id
这个解决方案的唯一问题是我需要一个_hiph_所有值都是'-'. 有没有办法在没有此_hiph_列的情况下在 postgresql 中运行此命令?或者任何替代解决方案?